不用limit实现找排名
查找入职员工时间排名倒数第三的员工所有信息
http://www.nowcoder.com/questionTerminal/ec1ca44c62c14ceb990c3c40def1ec6c
思想 :既然是找倒数第三,那么经过distinct处理后,只有两个数据的日期会比倒数第三晚,那么就可以形成一个where语句
select e1.*
from employees as e1
where
对于e1中每个数据找到入职日期比其晚的数据,并使用distinct处理,返回这些数据的个数,如果这些数据的个数为2,那么e1中的这个数据就是排倒数第三的数据
代码:
select e1.* from employees as e1 where (select count(distinct e2.hire_date) from employees as e2 where e2.hire_date>e1.hire_date )=2