mysql - 使用 MySQL GROUP BY 查找第三大值

标签 mysql sql select sql-order-by

我有一个包含 3 列的表格:

姓名 部门 工资

我如何确定使用一个查询来查找每个 部门 中第三高的 salary

最佳答案

一种方法是LIMIT一个相关的子查询,但它不是特别有效:

SELECT   department, (
  SELECT   salary
  FROM     my_table t2
  WHERE    t2.department = t1.department
  ORDER BY salary DESC
  LIMIT    2, 1
)
FROM     my_table t1
GROUP BY department

关于mysql - 使用 MySQL GROUP BY 查找第三大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14283315/

相关文章:

sql - 将两个表合二为一

c# - 如何仅在 SQLite 中更新 1 行

php - 将类添加到 ACF 多选

c - 使用 Select 区分套接字

mysql - 从不同的表中计算产品和价格总和

数据库; GROUP BY 但仅当列不为空时

mysql - 我可以将 ruby​​ 哈希存储在 mysql 数据库列中吗

java - 执行此 SQL 查询的更有效方法?时间比较查询?

php - mysql更新,性能WHERE检查与不检查

mysql - MYSQL如何添加外键?