首先
以銷售為例
Sql代碼
SELECT area_code
RANK () OVER (PARTITION BY area_code
FROM t_sale
Sql代碼
SELECT
RANK(
(ORDER BY area_code
FROM T_SALE
上面這個SQL就可以搞定了
上面就是Rank函數的兩個用法
其實現在Oracle對於rank和dense_rank已經支持合計功能
下面給出一些來自網上的示例
TABLE
數學
語文
數學
數學
數學
語文
語文
語文
現在我想要的結果是
數學
數學
數學
語文
語文
語文
那麼語句就這麼寫
select * from (select rank() over(partition by subject order by mark desc) rk
where T
dense_rank與rank()用法相當
例如
A B C
a liu wang
a jin shu
a cai kai
b yang du
b lin ying
b yao cai
b yang
例如
select m
A B C LIU
a cai kai
a jin shu
a liu wang
b lin ying
b yang du
b yang
b yao cai
而如果用dense_rank時為
select m
A B C LIU
a cai kai
a jin shu
a liu wang
b lin ying
b yang du
b yang
b yao cai
而如果用row_number()時為
select m
A B C LIU
a cai kai
a jin shu
a liu wang
b lin ying
b yang du
b yang
b yao cai
現在RANK 就是
新問題:銷售額
From:http://tw.wingwit.com/Article/program/Oracle/201311/18955.html