數據報表統計
原來做報表的時候,經常頭痛這個數據彙總,因爲數據庫是以行存儲的,而我們經常統計的時候需要二個維度的統計,最後還要加一個合計,沒有思路的時候很痛苦。
神器case…when…
oracle中的case…when…和decode都可以產生條件轉換的效果,可以將數據按照一定條件去轉換成0和1,這樣在配合sum函數,可以將行數據彙總成列數據。
rollup函數
這個和group分組函數有點相同,是對結果集進行分組統計,只是這個會對分組的字段,進行組合分組。
比如分組的字段是A,B,C
那麼就會 A,B A,C B,C A,B,C 這三個分組合計。
with…as…函數
這個函數相當於一個臨時表一樣,用來存放數據結果集,相當於對一塊結果集的引用,對需要抽取的數據需要進行篩選,可以提高效率。