作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
假设您有一个名为 Employee 的简单数据库表,它有 2 列名为 Employee ID 和 Salary:
Employee
Employee ID Salary
3 200
4 800
7 450
我想写一个查询 select max(salary) as max_salary, 2nd_max_salary from employee
那么它应该返回
max_salary 2nd_max_salary
800 450
我知道如何找到第二高的薪水
SELECT MAX(Salary) FROM Employee
WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee )
或者找到第n个
SELECT FROM Employee Emp1 WHERE (N-1) = ( SELECT COUNT(DISTINCT(Emp2.Salary)) FROM Employee Emp2
WHERE Emp2.Salary > Emp1.Salary)
但我无法弄清楚如何将这 2 个结果加入到所需的结果中
最佳答案
您可以只运行 2 个查询作为内部查询以返回 2 列:
select
(SELECT MAX(Salary) FROM Employee) maxsalary,
(SELECT MAX(Salary) FROM Employee
WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee )) as [2nd_max_salary]
关于mysql - 查找员工表 MySQL 的最大和第二个最大薪水,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520038/
假设我有一个 employee 表,其中有一列 salary。我想在年底时给薪水 > 4000 美元的人加薪 10%,给薪水 4000 THEN 1.1 ELSE 1.05 END 或特定函数如:I
我是一名优秀的程序员,十分优秀!