我正在嘗試編寫一個查詢,它將在多個列上執行一個COUNT,將它們按各自的列分組。我真的必須爲此編寫8個不同的SQL查詢嗎?
這裏的查詢我現在所擁有的:
SELECT COUNT(*) as total,
COUNT(q3_pay) as q3_pay_total,
COUNT(q3_holidays) as q3_holidays_total,
COUNT(q3_vacation) as q3_vacation_total,
COUNT(q3_sick) as q3_sick_total,
COUNT(q3_insurance) as q3_insurance_total,
COUNT(q3_retirement) as q3_retirement_total,
COUNT(q3_fsa) as q3_fsa_total
FROM exit_responses
我需要找到兩件事情:
- 的每個列數(列)響應的總數。
- 響應X的每個列數(列[X])<總數 - 例如
有沒有辦法爲我做這件事,而無需創建爲每列一個新的SQL查詢?
我目前有做到這一點像這樣的其他查詢:
SELECT COUNT(*) as total, q2 FROM exit_responses
GROUP BY q2
謝謝大家:)。
這不是很清楚 - 你對每列有什麼計算?你能給出一些樣本數據和預期的輸出嗎? – 2010-11-23 14:55:55
是使用所有這些字段設置的表exit_responses?你可以設置它的列名作爲一個字段值,然後只是由它分組?也許一個UNION查詢在計數之前進行歸一化.... – Leslie 2010-11-23 15:13:07