题目描述
获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
解决思路
select emp_no, salary from salaries
where to_date = '9999-01-01' and
salary = (select distinct salary from salaries order by salary desc limit 1,1)
- 注意用distinct去重,不然查询处理结果可能有多个
本文介绍了一种SQL查询技巧,旨在找出当前薪水排名第二的员工及其薪水。通过使用子查询和LIMIT关键字,结合DISTINCT确保结果的准确性。
394

被折叠的 条评论
为什么被折叠?



