首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 分組統計實戰:GROUP BY 與 COUNT 組合查詢範例

     編輯:Oracle 教學

Oracle 分組統計實戰:GROUP BY 與 COUNT 組合查詢範例

分組統計是商業報表最常見的需求。本文以簡單範例示範如何使用 GROUP BY 搭配聚合函數快速產出統計結果。

範例資料

IDCONAMEJOB
1IBMJACKPM
2GoogleTOMPM
3IBMJIMPM

需求:統計各公司 (CO) 的員工人數

SELECT t.co, COUNT(t.name) AS emp_cnt
FROM tab_test t
GROUP BY t.co;

結果

COEMP_CNT
IBM2
Google1

進階變化

  • 多欄位分組:GROUP BY t.co, t.job 統計各公司各職稱人數。
  • 過濾分組:HAVING COUNT(*) > 1 僅顯示員工數 > 1 的公司。
  • 子查詢作為來源:FROM (SELECT ... FROM ... WHERE ...) t 先篩選再分組。
  • ROLLUP/CUBE:GROUP BY ROLLUP(t.co) 產生小計與總計列。

效能提示

  1. 分組欄位若有索引,優化器可採用 SORT GROUP BY NOSORT 避免排序。
  2. 大量資料分組考慮 PARALLEL 提示或分區表分區裁剪。
  3. 避免在 GROUP BY 欄位上使用函數(如 TRUNC(dt)),改用函數索引或物化視圖預先計算。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved