mysql - SQL查询查找最高工资
问题描述
我有一张这样的桌子
----------------------
| ID | Name | Salary |
| -- | --- | --- |
| 1 | A | 1000 |
| 2 | B | 4000 |
| 3 | C | 5000 |
| 4 | B | 600 |
| 5 | C | 2000 |
| 6 | A | 5000 |
| 7 | B | 4000 |
----------------------
而我想查询全表的最高工资和每个学生的最高工资。我可以写两个查询,例如,
>> SELECT MAX(Salary) FROM TABLE
>> SELECT NAME, MAX(SALARY) FROM TABLE GROUP BY NAME
现在,我想在一个查询中做同样的事情而不使用两个查询。我该如何接近?
解决方案
ROLLUP 可用于给出额外的行作为“摘要”,因此给出整体 MAX 值......
SELECT name, MAX(salary)
FROM TABLE
GROUP BY name
WITH ROLLUP
ORDER BY GROUPING(name) DESC,
name
哪个会产生...
| Name | Salary |
| --- | --- |
| NULL | 5000 |
| A | 5000 |
| B | 4000 |
| C | 5000 |
推荐阅读
- discord.js - 在 discord.js 中制作欢迎信息
- javascript - 将 useMemo 或 useCallbacks 添加到地图组件会破坏代码并显示错误“渲染的钩子比上一次渲染期间更多”
- javascript - 我的
不加载我的 js 文件并且我的浏览器无法加载它 - javascript - 在 JSON.stringify(obj) 之后反应 js 不同的值
- elasticsearch - Elasticsearch 操作现有字段值以添加新字段
- node.js - 重新连接到 EventStore 中的持久连接后不重复确认的事件
- python - PHP 不执行 Python 文件
- java - 以平滑的外观更改 JButton 文本和背景颜色
- python - 在 1 个项目中运行 2 个 Discord 机器人 (Discord.py)
- c# - C# Modbus:ReadHoldingRegisters 在返回输出中不一致