SQL查询段的正值和负值,并对不同名称的值求和

问题描述 投票:0回答:1

Here is the question below

我的查询如下:

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

任何人都可以显示正确的查询或改善我的查询吗?

sql
1个回答
0
投票

我认为您想要:

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之后的完全独立的子句。

© www.soinside.com 2019 - 2024. All rights reserved.