row_number()、rank()、dense_rank()這三個分析函數的區別實例

SQL> select region_id, customer_id, sum(customer_sales) total,
 2         rank() over(order by sum(customer_sales) desc) rank,
 3         dense_rank() over(order by sum(customer_sales) desc) dense_rank,
 4         row_number() over(order by sum(customer_sales) desc) row_number
 5    from user_order
 6   group by region_id, customer_id;

REGION_ID   CUSTOMER_ID    TOTAL         RANK     DENSE_RANK   ROW_NUMBER
---------- -----------   ----------   ---------- ----------  ----------

  8          18          1253840         11          11         11
  5           2          1224992         12          12         12
  9          23          1224992         12          12         13
  9          24          1224992         12          12         14
 10          30          1216858         15          13         15
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章