我们经常要考虑到数据库重复的原因 假设我们要获取薪水第二多的员工的emp_no,salary 其中salaries是薪水表
这是错误的写法
select emp_no ,salary from salaries order by salary desc limit 1,1
;//limit m,n;是取第m+1条开始的n条记录 ,order by salary 以薪水排序 desc倒序
这种写发没有考虑吧到数据库重复的现象如果最多薪水有两个人则取出的薪水数还是最多的并不是第二多的
这是一种正确的写法
select emp_no,salary from salaries
where salary=(select salary from salaries group by salary order by salary desc limit 1,1)
先以salary分组找出第二多的薪水再where找出要求记录