请问你用的什么数据库。如果MSSQL的是select top 10 * from emp order by sal desc如果是Oracle的是select * from (select a.*,rownum r from (select * from emporder by sal desc) a) bwhere b.r<=10但是还有一个问题就是第11位和第10位的工资是一样的可能(并列的情况),上面的语句就欠考虑了。那么就需要修改上面的语句。如果MSSQL的是SELECT * FROM emp WHERE sal IN (select TOP 10 sal from emp ORDER BY sal DESC)ORDER BY sal DESC如果是Oracle的是SELECT * FROM emp WHERE sal IN ( select sal from (select a.*,rownum r from (select * from emporder by sal desc) a
--对emp进行升序排列) b --给出伪列where b.r<=10--获得伪列在10以内的) ORDER BY sal DESC