查資料,發現case when的皮毛用法.但它與where條件相比,孰優孰劣,還真沒搞個所以然呢!
比如想查自帶表emp里,mgr是王的7839編號的人總數,並按部門分組統計,可以這樣:
SELECT e.deptno 部門編號, count(CASE WHEN e.mgr=7839 THEN 1 ELSE NULL END) 王的眾大臣人數 FROM emp e GROUP BY e.deptno;
注意:剛才的SQL語句中如果null換成0,就有問題了.
因為有需要,特整理下.