D_value ------- A B B C C C
要顯示計數D_Value
到這個表
A | B | C --------- 1 | 2 | 3
D_value ------- A B B C C C
要顯示計數D_Value
到這個表
A | B | C --------- 1 | 2 | 3
爲了得到一個單行, 用這個。
SELECT
COUNT(CASE WHEN D_Value = 'A' THEN 1 END) AS A,
COUNT(CASE WHEN D_Value = 'B' THEN 1 END) AS B,
COUNT(CASE WHEN D_Value = 'C' THEN 1 END) AS C
FROM
MyTable
這適用於有限和固定數量的值來算
如果你不知道有多少不同的值,那麼你需要做一個簡單的彙總,並作出單一的行中的客戶端代碼。
SELECT D_value, COUNT(*) FROM MyTable GROUP BY D_value;
但是,這不會給不存在的值的計數爲零。所以你需要一個查找表和LEFT JOIN。我不會去那裏...
謝謝。這是幫助。 :) – Jimmy428 2012-08-16 07:51:20
你期望有多少個不同的值? – gbn 2012-08-16 07:29:57
爲什麼不能用傳統的方式來做(每行值,計數對):'選擇D_value,通過D_value'從表組中計數(*)? – 2012-08-16 07:33:06