分析函数(二)

 1 --NTILE(n)函数用于将函数等分为N部分,并为每一部分分配一个编号
 2 --下面是实例:
 3 --将分组后的数据等分为十个组,并展示出返回数据的分组情况
 4 select *
 5   from (select a.prd_type_id,
 6                a.month,
 7                sum(a.amount),
 8                ntile(10) over(order by sum(a.amount) desc) as tile
 9           from all_sales a
10          where a.year = 2003
11            and a.amount is not null
12          group by a.prd_type_id, a.month
13          order by a.prd_type_id, a.month)
14  where tile < 2
1 --row_number()函数:为每一条数据返回一个唯一的数字
2 select a.prd_type_id,
3        sum(a.amount),
4        row_number() over(order by sum(a.amount) desc nulls last)
5   from all_sales a
6  where a.year = 2003
7  group by a.prd_type_id
8  order by a.prd_type_id

 

posted @ 2012-11-12 22:11  原想  阅读(139)  评论(0编辑  收藏  举报