我有一个像这样结构的表:
lineID lineItemPrice
1 20
2 25
3 27
4 30
4 30
4 30
我想得到lineItemPrice的总和,其中lineId是不同的。 我不确定sql查询应该是什么?请帮忙。
输出应为102。
答案 0 :(得分:1)
我不知道你是否在寻找这个:
select
sum(lineItemPrice), lineID
from
table
group by lineID
或者这个:
select
sum(lineItemPrice)
from
(select distinct lineID, lineItemPrice from table)
如果你想要整个表格的总和:
select
sum(lineItemPrice)
from
table
第一个会给出结果,总结所有lineItemPrice的各自的lineID'
lineID lineItemPrice
1 20
2 25
3 27
4 90
第二个将对所有这些不同的记录求和,将 102 作为答案
lineID lineItemPrice
1 20
2 25
3 27
4 30
第三个:
lineItemPrice
162
答案 1 :(得分:1)
试试这个:
SELECT SUM(lineItemPrice) as TotalSum FROM
(SELECT lineItemPrice
FROM TableName
GROUP BY lineID,lineITemPrice) T
结果:
TOTALSUM
102
请参阅SQL Fiddle中的结果。
答案 2 :(得分:1)
请尝试:
select
SUM(lineItemPrice) lineItemPrice
from(
select
distinct lineID, lineItemPrice
From tbl
)x
如果lineID lineITemPrice用于相同的值对,则可以使用以下查询。
select
SUM(DISTINCT lineItemPrice) lineItemPrice
From tbl
答案 3 :(得分:0)
这应该有效:
Select lineID, SUM(lineItemPrice) Total From YourTableName Group By lineID
很简单。
GROUP BY语句与聚合函数(我们在此使用SUM函数)一起使用,将结果集分组为一列或多列。
答案 4 :(得分:0)
为什么不这个
SELECT * FROM
(
Select lineID, SUM(lineItemPrice) Over(Partition By lineID) Total
From TableName
) T
Group By lineID,Total
<强> Fiddle Demo 强>
输出:
lineID lineItemPrice
1 20
2 25
3 27
4 90