我正在尝试根据另一列的重复外观选择列的总和,这是我的选择:
SELECT T1.GEST,T2.CODINTERN,T3.REST, SUM(T3.REST) AS Suma
FROM mydb.t3
INNER JOIN mydb.t2 ON
mydb.t3.CODOBIECT = mydb.t2.CODOBIECT
INNER JOIN mydb.1 ON
mydb.t3.CODNIR=mydb.t1.CODNIR
WHERE T1.gest=738 and T3.REST>0
GROUP BY T2.CODINTERN, T1.GEST, T3.REST;
这是我得到的输出:
CODINTERN Gest REST Suma
1005 738 58 58
1022 738 9 9
1066 738 25 25
1066 738 11 11
1068 738 283 283
按功能分组似乎不起作用,因为我得到每行的总和。关于如何提高我的选择的任何想法都高度赞赏。
预期结果:
如果CODINTERN重复,我想总结REST并删除重复的项目。
CODINTERN Gest REST Suma
1005 738 58 58
1022 738 9 9
1066 738 36 36
1068 738 283 283
答案 0 :(得分:1)
我的猜测是你不应该用你正在总结的t3.rest进行分组
SELECT T1.GEST,T2.CODINTERN, SUM(T3.REST) AS Suma
FROM mydb.t3
INNER JOIN mydb.t2 ON
mydb.t3.CODOBIECT = mydb.t2.CODOBIECT
INNER JOIN mydb.1 ON
mydb.t3.CODNIR=mydb.t1.CODNIR
WHERE T1.gest=738 and T3.REST>0
GROUP BY T2.CODINTERN, T1.GEST;