我的查询如下:
SELECT DISTINCT name, money CASE
WHEN [money] < 0 THEN SUM(money) GROUP BY name
END AS "sum_of_withdraws"
CASE
WHEN [money] >= 0 THEN SUM(money) GROUP BY name
END AS "sum_of_withdraws"
FROM table
任何人都可以显示正确的查询或改善我的查询吗?
我认为您想要:
SELECT name,
SUM(CASE WHEN [money] < 0 THEN money
END) AS sum_of_withdraws,
SUM(CASE WHEN [money] >= 0 THEN money
END) AS "sum_of_withdraws"
FROM table
GROUP BY name;
CASE
表达式是SUM()
的参数。 GROUP BY
是在FROM
之后的完全独立的子句。