1. 程式人生 > 其它 >oracle 分組和排序

oracle 分組和排序

技術標籤: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

在這裡插入圖片描述