/*
给一个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
转载请注明原文地址: https://ibbs.8miu.com/read-5052.html