SQL noob这里有一个noob问题。我有一个这样的表:
ID word num_pos num_neg
34 car 1 0
34 car 1 0
100 bus 0 1
123 car 0 1
34 car 0 1
100 bus 1 0
123 bus 0 1
123 car 1 0
我想要的是一个表,该表将所有唯一的ID和单词进行分组,并对num_pos和num_neg列求和以得到以下输出:
ID word num_pos num_neg
34 car 2 1
100 bus 1 1
123 car 1 1
123 bus 0 1
另外,我想按单词过滤,例如单词“ car”,我需要返回下表:
ID word num_pos num_neg
34 car 2 1
123 car 1 1
我认为首先查询单词,然后按和求和,可能会更快,但我不知道。
谢谢大家!
最佳答案
您只需要对ID和单词使用GROUP BY子句,以及两个SUM聚合函数:
SELECT ID, word, SUM(num_pos) sum_npos, SUM(num_neg) sum_nneg
FROM yourtable
GROUP BY ID, word
请参阅小提琴here。
关于mysql - 按2列分组,并对MySQL中的其他2列求和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17413784/