如何在一个Query中组合多个SUM?

时间:2012-02-27 21:20:23

标签: mysql sql sum

我有这样的查询:

SELECT *, SUM(ss.rank) as group_sum 
FROM Standard s, s.SubStandard ss 
GROUP BY s.id

问题是我想在此查询中使用SUM(s.rank) as total_rank,这怎么可能?

3 个答案:

答案 0 :(得分:1)

列出您的各个列(而不是*)。

SELECT SUM(s.rank) as total_rank, s.id, s.foo, s.bar, SUM(ss.rank) as group_sum FROM standard s...

我建议改变你的JOIN。

... LEFT JOIN substandard ss ON s.id = ss.standard

或类似的东西。

答案 1 :(得分:1)

Just Try:

SELECT *, SUM(ss.rank) as group_sum ,SUM(s.rank) as total_rank
FROM Standard s, s.SubStandard ss on s.id=ss.sid  // => replace with actual column
GROUPBY s.id

如果不同的小组请使用union

答案 2 :(得分:1)

不确定您要找的是什么,但这可能有所帮助:

select s.id, s.title, sum(ss.rank) as group_sum from standard s
join subStandard ss
on s.id = ss.standard_id
group by s.id, s.title