请问录取成绩表中成绩前30名人员名单的sql语句怎么写,要求如有和第30名成绩相同的一起入选。

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:06:33
假设表名为cjb,成绩字段名cj

基本思想是先查询top 30 的人然后把最后一个人的成绩x取出来,作为外层查询的条件,用cj>=x.具体的要看是什么数据库了

select *
from cjb
where cj>=(select cj from (select *, rownum as rn from cjb orderby cj) as t1 where rn=30)

select * from cjb where ci in(select DISTINCT(cj) from cjb order by cj) order by cj;
先去掉重复找出前30名,明白吧。

二楼正解