在SQL相等的值有一個表達方式計算有多少值從'x'
不同:聚集數以恆定
SELECT COUNT(NULLIF(col, 'x')) FROM table
我覺得不太優雅爲相同的值數到'x'
:
SELECT COUNT(*) - COUNT(NULLIF(col, 'x')) FROM table
SELECT SUM(CASE WHEN col = 'x' THEN 1 ELSE 0 END) FROM table
- [預言]
SELECT COUNT(DECODE(col,'x','x',NULL)) FROM table
有沒有更好的方法來做到這一點?
爲什麼從表,其中列=「x''不'SELECT COUNT(*)? –
@羅曼:你說得對,這個問題似乎很愚蠢。但在這裏,我需要在一個查詢中執行多個計數:'select count_if(col,'x'),count_if(col,'y'),count_if(col,'z')FROM table' – Benoit
@Roman'select count(*)from table where col <>'x''不計算col爲null的行。 –