遇到以下SQL问题。
假设一个带有条目(h,t,q)的三维表
1,A,20
1,A,10
1,B,5
2,A,10
2,B,3
2,B,8
3,C,50
4,A,10
etc.
我想提取
1,30
2,11
3,50
etc.
按第一个元素分组然后返回相同类型的最大q值,即对于标题号2,有10个As和11个B,所以返回11。
“max”元素(情况1中的A,情况2中的B和情况3中的C)无关紧要。我只需要拿出标题和最大值。
这不应该太棘手,但我无法让它发挥作用。使用MS Access,但可以使用SQL。
答案 0 :(得分:2)
SELECT h, MAX(cnt)
FROM (
SELECT h, SUM(q) AS cnt
FROM mytable
GROUP BY
h, t
) sq
GROUP BY
h
答案 1 :(得分:0)
这样的事情应该有效:
select h, max(q) from table
group by h
编辑:没关系..我误解了。 Quassnoi的解决方案应该有效。