quoteId price
1 50
1 50
2 10
3 40
3 40
3 40
4 10
在此表格中,我对每个price
始终获得相同的quoteId
示例:quoteId = 1
有多个条目price
为50。
使用SUM
我会得到price
列的总和,即:50 + 50 + 10 + 40 + 40 + 40 + 10 = 240
但是,我只想对price
的唯一quoteId
求和,即:
50+10+40+10 = 110
我怎么能解决这个问题?
答案 0 :(得分:1)
另一种选择是DISTINCT
示例强>
Select MyTotal = sum(price)
from (Select Distinct quoteId,price From YourTable) A
<强>返回强>
MyTotal
110
答案 1 :(得分:1)
以下查询将起作用:
select sum(price)
from yourTablename
group by quoteId,price;
答案 2 :(得分:0)
您需要一个嵌套查询,使用quoteId
(或avg
或max
与您的数据一起)min
计算中间值 < / p>
但你需要知道为什么你的quotedId有重复值,可能你以前有过错。
select sum(price) from (
select
quoteId,
avg(price) price,
from
your_table
group by
quoteId
) as x
此查询符合ISO标准SQL,适用于多个数据库引擎