我有一张桌子,下面有3列。提供样本数据
column_1 column_2 column_3
A a 10
A b 20
B a 10
A a 10
B a 30
A b 40
A c 10
C a 20
我想根据column_1和column_2的值得到column_3的总和。这意味着我希望获得column_3中值为“列”的列'_'为列_2'的值的总和,以此类推。
Sample output is given bellow
column_1 column_2 SUM(column_3)
A a 20
A b 60
A c 10
B a 40
C a 20
有人可以告诉我该怎么做
答案 0 :(得分:4)
试试这个:
SELECT SUM(column_3), column_1, column_2 FROM table GROUP BY column_1, column_2
GROUP BY
命令指出您要使用SUM
后面的列的不同值对聚合函数(GROUP BY
)进行分组。它们也出现在查询的SELECT
部分中并不是“必需的”,但这是一种很好的做法(并且知道哪一行代表哪个分组的唯一方法。
显然用实际的表名替换table
。
答案 1 :(得分:0)
你可以使用group by with col1和col2并将col3加在下面
SELECT SUM (col3)
FROM test_table
GROUP BY col1, col2
答案 2 :(得分:0)
select column_1, column_2, SUM(column_3) from table
group by column_1, column_2
group by允许您根据其他列的分组将聚合函数应用于列。
向后思考,group by column_1, column_2
可以被视为:“为我提供column_1和column_2的所有唯一组合。然后选择SUM(column_3)
将获取每组中column_3中条目的总和。
答案 3 :(得分:-1)
试试这个......
SELECT SUM(column_3), column_1, column_2 FROM table
GROUP BY column_1, column_2