小编bab*_*abu的帖子

为什么 MAX() 的 SUM() 给出错误的输出?

我有一个餐桌员工

id    name   salary  city
1     ram    50000   c1
2     sham   20000   c2
3     jadu   80000   c1
4     madhu  90000   c4
5     hari   10000   c2
6     gopal  34000   c3
7     komal  55000   c3
8     bappa  98000   c4
Run Code Online (Sandbox Code Playgroud)

查询哪个城市的收入最高。我试过

SELECT city, SUM(salary) AS maxSalary 
FROM employee GROUP BY city ORDER BY salary DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果有多个最大收入城市,那么它不会输出其他最大城市,只输出第一个。

所以我试过这个查询

SELECT city, MAX(totalSalary) maxSalary 
FROM( SELECT city, SUM(salary) AS totalSalary FROM employee GROUP BY city  ) AS tempTable
Run Code Online (Sandbox Code Playgroud)

它正在给予

city  max
c1    188000
Run Code Online (Sandbox Code Playgroud)

但正确的是 …

mysql aggregate

3
推荐指数
1
解决办法
4万
查看次数

标签 统计

aggregate ×1

mysql ×1