我有一个表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