mysql查询获取每个部门前两名的工资

标签 mysql

<分区>

**Department table name** 
**following with fields name**

 id , empid ,salary ,departid ,status

如何在mysql中单次查询得到每个部门前两名的最高工资

最佳答案

SELECT emp1.departid , emp1.salary
FROM Department emp1
WHERE (
SELECT COUNT(DISTINCT(emp2.salary))
FROM Department emp2
WHERE emp2.salary > emp1.salary and emp1.departid  = emp2.departid ) in (0,1) group by emp1.departid , emp1.salary

我已经在 sql server 中测试了这个解决方案。但我认为它也适用于 ms sql。

关于mysql查询获取每个部门前两名的工资,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084123/

相关文章:

php - MySQL 如果可用数据转到页面并显示结果,如果不可用则返回检查号

php - 基本选择查询在页面中不返回任何内容,但在 phpMyAdmin 中获取结果

MySql - 自上次 X 点以来的记录计数

mysql - 两个日期之间的工作日数[逻辑]

c# - SQL 时间戳到 C# 上的日期时间

mysql - 从 Visual FoxPro 表更新 MySql 表时出现问题

php - Laravel 日期未插入,更新数据库表

php - mySQL 删除功能的问题

php - MySQL 查询不返回任何行,也没有错误,其中 phpMyAdmin 在同一查询中返回 1 行

php - 在 PHP 中使用数组存储多个值