问题:如何取第二?
有一张学生表,有id,name,score,取出score的第二大值
解决方法一
使用row_number() over()开窗函数
select
score
from
(select
score,
row_number() over(order by score desc) rk
from stu_test) t
where t.rk=2;
解决方法二
使用自连接
select
a.score
from stu_test a
join stu_test b
on a.score<b.score
group by a.score
having count(*)=1;