如何用OracleRATIO?
例如,每名客戶的訂單相對于總訂單的百分比,或每位銷售代表的銷售額相對于總銷售額的百分比。
傳統上,Oracle計算百分比的方法是在總計報告的子查詢中使用SUM函數總計報告,然后把那個結果放到細節表中相除來計算百分比。
你還可以用一個子查詢作為SELECT語句表達式:RATIO_TO_REPORT解析函數使得這種類型的查詢更容易編碼。
Oracle 8i中引入了這個函數,它的格式如下:RATIO_TO_REPORT (expr) OVER (query_partition_clause)列表A說明一個簡單的例子。
對163號銷售代表來說,每位客戶的銷售額占這名銷售代表的總銷售額的百分比是多少呢?在這種情況下,查詢分區子句(partition clause)為空,因此得到的結果是對返回的所有行計算得出。
列表B增加了一個查詢分區子句,進一步按客戶細分報告。
PARTITION BY customer_id子句重新安排每位客戶的總數,進而說明每名客戶的哪次訂單最為關鍵。
你可以查看客戶102的情況,他的兩個訂單相對平衡;但客戶103的一個訂單占這名客戶總訂單額的很大一部分。