我有一個表SQL計數這是一個代碼
ANSWERS
qId
toggle_value
它記錄的HTML單選按鈕值{Yes, N/A, No, Resolved}
現在我想算和總結多少yeses,NOS,NAS和按問題ID分組。
爲了簡單起見,我開始構建每個單獨的查詢。
SELECT qId, count(*) as yes_qty FROM ANSWERS WHERE TOGGLE_VALUE='Yes' GROUP BY qId;
SELECT qId, count(*) as na_qty FROM ANSWERS WHERE TOGGLE_VALUE='NA' GROUP BY qId;
SELECT qId, count(*) as no_qty FROM ANSWERS WHERE TOGGLE_VALUE='No' GROUP BY qId;
SELECT qId, count(*) as resolved_qty FROM ANSWERS WHERE TOGGLE_VALUE='Resolved' GROUP BY qId;
但我真的想在一個查詢,所以我可以遍歷列表,並顯示這樣的事情(合計14個清單3題)
Q Yes No NA Resolved
1 4 10 0 10
2 14 0 0 0
3 7 0 7 0
我不實際使用的字符串觸發值,但數字1 =是,2 = NA,等等,並想知道如果有更好的表設計本來
ANSWERS
qId
yes_value
no_value
na_value
resolved_value
我不得不重構很多其他的事情,如果我改變了表設計,所以我希望得到一個單一的查詢工作。
我很高興我的桌子設計很好,因爲如果我改變它,它會對onther代碼產生連鎖反應。我選擇了似乎最容易閱讀的答案。 – jeff