0

早上好,我有下表,有以下记录

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不行。

4

2 回答 2

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
于 2013-09-19T15:36:37.317 回答
0

据我所知,您的问题对细节有点轻描淡写:

  • Correlativo(正如西班牙语名称所暗示的那样):ID(自动编号?)每行明显不同。
  • Mov abrevición de Movimiento?): 是运动 id 吗?或搬家ID?
  • 描述:只是一个文本通用描述
  • 总计:是您要添加的总计

如果这些是正确的,并且建立在 critialfix 的解决方案之上,那么添加每个 Mov 的总数将是:

SELECT Mov, Sum (Total)
FROM YourTableName
GROUP BY Mov

或者如果需要描述:

SELECT Mov, Descip, Sum(Total)
FROM YourTableName
GROUP BY Mov, Descip
于 2013-09-19T16:06:35.280 回答