有一张工资表,查询占全部工资的前10%的数据(按工资从多到少排列),
WITH TA AS
(SELECT T.*,
ROW_NUMBER() OVER(ORDER BY SALARY DESC) RNUM,
(COUNT(1) OVER()) / 10 CNT
FROM HR.EMPLOYEES T)
SELECT * FROM TA WHERE RNUM < CNT
select top (select count * from 工资表) / 10 * from 工资表 order by 工资 desc
select top 10 * from 工资表 order by 工资 desc