数据表结构:
employee表
id | name | age |
---|---|---|
1 | 王XX | 36 |
2 | 李XX | 46 |
3 | 刘XX | 40 |
4 | 章XX | 36 |
5 | 柯XX | 31 |
6 | 田XX | 40 |
7 | 郭XX | 38 |
实现:取年龄值第n大的数,如果不存在,返回结果null
n = n - 1
select IFNULL((select distinct age from employee order by age desc limit n,1),NULL) as 2nd_age
结果:
当n = 2
2nd_age |
---|
40 |
当n = 6
2nd_age |
---|
NULL |