SQL查询求和唯一记录

时间:2015-06-10 08:25:25

标签: sql sql-server tsql sum

我试图将销售车辆的一段时间内的所有销售额计算在内。问题是每个售出的产品都是一排白色的数量和价格以及账单和账单号的总和。

所以我有两个选择:乘以有售价的产品金额和总和。或者采取法案删除双行并总结。我选择了第二种选择。

所以现在我有[位置代码](销售车辆),[比尔号]和[总价]。

所以我得到了:

0001    0001/00277343   10,26000000000000000000
0001    0001/00277343   10,26000000000000000000
0001    0001/00277343   10,26000000000000000000
0001    0001/00277343   10,26000000000000000000
0001    0001/00277345   10,33000000000000000000
0001    0001/00277345   10,33000000000000000000
0001    0001/00277345   10,33000000000000000000
0001    0001/00277347   24,35000000000000000000
0001    0001/00277348   30,31000000000000000000
0001    0001/00277348   30,31000000000000000000
0001    0001/00277349   2,69000000000000000000

当你看到双重条目时,因为在一个账单上有多个项目。所以现在我只想总结独特的价格,以便我得到

0001 1822,50

此刻我只能这样:

select [Location Code], [Bill No_] , Price from [Item Ledger Entry] 
where [Location Code] = '0001' and [Document Date] = '01.04.2015'

我尝试了几个,但没有一个工作。最好的结果给出了这个,但没有总结

select distinct[Bill No_], [Location Code] , Price from [Item Ledger Entry] 
where [Location Code] = '0001' and [Document Date] = '01.04.2015'

2 个答案:

答案 0 :(得分:0)

select [Location Code], [Bill No_] , SUM(Price) from [Item Ledger Entry] 
where [Location Code] = '0001' and [Document Date] = '01.04.2015'
group by [Location Code], [Bill No_]

答案 1 :(得分:0)

我认为你正在寻找这个:

SELECT [Location Code], [Bill No_], SUM(Price) AS Price
FROM (SELECT  DISTINCT [Location Code], [Bill No_] , Price from [Item Ledger Entry] 
      WHERE [Location Code] = '0001' and [Document Date] = '01.04.2015') t
GROUP BY [Location Code], [Bill No_]