oracle 分組和排序
阿新 • • 發佈:2021-02-16
技術標籤:ORACLE
建表語句
create table grouptest(
city varchar(10),
town varchar(10),
persons number(10)
)
插入資料
insert into grouptest values ('江蘇','蘇州',10);
insert into grouptest values ('江蘇','南京',20);
insert into grouptest values ('浙江','杭州',19);
insert into grouptest values ('浙江','義烏',13);
insert into grouptest values ('浙江','金華',11);
insert into grouptest values ('廣東','廣州',18);
1、對所有地級市的人數排序
select city,town,persons,row_number() over(order by persons desc) from grouptest
2、對各省地級市人數排序
select city,town,persons,row_number() over(partition by city order by persons desc) from grouptest
3、按照省名稱排序,名稱相同的,次序一樣
select city,town,persons,rank() over(order by city desc) from grouptest
4、按照省名稱排序,名稱相同的,次序一樣且連續
select city,town,persons,DENSE_RANK() over(order by city desc) from grouptest
5、按照省份降序分為三組
select city,town,persons,ntile(3) over(order by city desc) from grouptest