Mysql 对列中的所有值求和返回最高值
我遇到了一个小的SQL问题——就像我经常遇到的那样:p 我怎样才能只返回所有列中最高的合计金额Mysql 对列中的所有值求和返回最高值,mysql,sql,database,sqlite,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 | |-------|----
+-------+------+
| 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 |
+-------+------+
如何对所有列求和,然后返回具有最高求和值的列
感谢您抽出时间使用
分组依据
计算值,然后按
排序和限制
获得您想要的:
select type, sum(val) as sumval
from table t
group by type
order by sumval desc
limit 1;
使用
group by
计算值,然后使用order by
和limit
获得所需的值:
select type, sum(val) as sumval
from table t
group by type
order by sumval desc
limit 1;
呃,我不完全确定该怎么说-但我想我爱你,呃,我不完全确定该怎么说-但我想我爱你,如果是领带,例如6只猫而不是5只?如果是领带,例如6只猫而不是5只?