早上好,我的下表有以下记录
Mov Descip Correlativo Total
25558 AAAAAAAA 1 540
25558 AAAAAAAA 2 540
25559 BBBBBBBBB 3 40
25560 CCCCCCCCC 4 50
25561 DDDDDDDD 5 120
25561 DDDDDDDD 6 120
25561 DDDDDDDD 7 120
不知道怎么做查询给我看,但没有重复记录,我试过用DISTINCT不起作用。
答案 0 :(得分:3)
取决于你想从这张表中得到什么:
Mov Descip Correlativo Total
25558 AAAAAAAA 1 540
25558 AAAAAAAA 2 540
25559 BBBBBBBBB 3 40
25560 CCCCCCCCC 4 50
25561 DDDDDDDD 5 120
25561 DDDDDDDD 6 120
25561 DDDDDDDD 7 120
这些行都是不同的,因为Correlativo是唯一的,所以DISTINCT关键字将返回所有七行:
SELECT DISTINCT Mov, Descip, Correlativo, Total
FROM YourTableName
如果从选择列表中删除Correlativo,那么DISTINCT应该将其减少到四行:
SELECT DISTINCT Mov, Descip, Total
FROM YourTableName
您也可以使用GROUP BY,但是您必须使用聚合函数来告诉SQL Server如何处理Correlativo的多个值。例如,您可以使用MIN(),MAX()或SUM():
SELECT Mov, Descip, SUM(Correlativo), Total
FROM YourTableName
GROUP BY Mov, Descip, Total
答案 1 :(得分:0)
就我所见,你的问题对细节有点了解:
如果这些是正确的,并且建立在critialfix的解决方案之上,那么每个Mov添加总数将是:
SELECT Mov, Sum (Total)
FROM YourTableName
GROUP BY Mov
或者如果需要Descrip:
SELECT Mov, Descip, Sum(Total)
FROM YourTableName
GROUP BY Mov, Descip