将列中的所有值求和最高

时间:2015-03-13 11:49:25

标签: mysql sql database sqlite

我有一个小的SQL问题 - 我经常这样做:P

我如何返回所有列中的最高总和金额?

+-------+------+
| TYPE  |  VAL | Dog sums to 6    
|-------+------| Frog sums to 5 
| Cat   |    2 | Cat sums to 5
|-------|------| 
| Dog   |    3 |  
|-------|------| 
| Dog   |    3 | 
|-------|------|
| Cat   |    2 | 
|-------|------|
| Cat   |    1 |
|-------|------|
| Frog  |    5 | 
+-------+------+

例如,从上表我只想返回 -

+-------+------+
| TYPE  |  VAL |    
|-------+------| 
| Dog   |    6 | 
+-------+------+

如何对所有列求和,然后返回具有最高求和值的列?

感谢您的时间

1 个答案:

答案 0 :(得分:4)

使用group by计算值,然后使用order bylimit来获得您想要的值:

select type, sum(val) as sumval
from table t
group by type
order by sumval desc
limit 1;