/* 给一个table的某个字段排序,分别用sub-query和self-join。 这个例子会有很多变化,例如qty值是否有重复,关键的关系运算符是 >, >=, <, <=,其效果和涵义也不同 */ declare @t table(qty int) insert @t select 740 insert @t select 100 insert @t select 560 insert @t select 230 insert @t select 980 insert @t select 800 /* sub query */ select ranking=(select count(qty) from @t B where A.qty >= B.qty), qty from @t A order by 1 /* self - join */ select ranking=count(B.qty), A.qty from @t A join @t B on A.qty >= B.qty group by A.qty order by 1
SQL Ranking 技巧
最新推荐文章于 2024-07-07 22:47:13 发布