【发布时间】:2022-01-22 02:39:03
【问题描述】:
我有这个问题:
select name, score from tb
group by name, score
order by score desc
limit 5
输出是:
name1 90
name2 85
name3 70
name4 50
name5 30
现在我想做同样的查询,但使用名称来执行另一个查询。我需要知道如何按照它们在第一个查询中出现的顺序“调用”2ns 最高分名称、第 3、第 4 和第 5 个名称。
类似这样的:
with 5_top as(
select name, score from tb
group by name, score
order by score desc
limit 5)
从 5_top 中选择 <2nd name_here>
所以从第一个查询中我知道 name2 是第二高分,所以在下一个查询中我可以使用 where name = name2 但如果下周 name2 下降到第三位,我的查询将失败。
【问题讨论】: