【发布时间】:2018-01-24 15:38:42
【问题描述】:
我有一个如下所示的数据架构:
"id"|"utest_id"|"member_id"|"utest_step_id"|"value"
699 |21 |162 |522 |4
704 |21 |163 |522 |2
709 |21 |164 |522 |2
714 |21 |165 |522 |2
719 |21 |166 |522 |3
724 |21 |167 |522 |5
729 |21 |168 |522 |4
734 |21 |169 |522 |2
739 |21 |170 |522 |1
744 |21 |171 |522 |5
749 |21 |172 |522 |3
754 |21 |173 |522 |3
759 |21 |174 |522 |4
764 |21 |175 |522 |3
769 |21 |176 |522 |5
774 |21 |177 |522 |4
779 |21 |178 |522 |1
784 |21 |179 |522 |4
789 |21 |180 |522 |3
794 |21 |181 |522 |2
799 |21 |182 |522 |3
804 |21 |183 |522 |1
我有一个 MySQL 查询,它按值分组并返回每个值的计数。
SELECT URPS.value, count(URPS.value) AS count,
(CASE WHEN URPS.member_id = '183' THEN 'true' END) as MemberAnswer
FROM utest_results_per_step URPS
WHERE URPS.utest_step_id = '522'
GROUP BY URPS.value;
这给了我正确的分组和计数。
value | count | MemberAnswer
1 21 NULL
2 20 NULL
3 26 NULL
4 21 NULL
5 12 NULL
我在查询中有一个 CASE 条件,它创建了一个名为 MemberAnswer 的列,如果对于给定的比较,member_id 值是 true,我希望它在该值的行的该列中有一个“true”条目。但是,我只会得到 NULL。
这是否可以在单个查询中实现,如果可以,我将如何重组我的查询以返回它?
【问题讨论】: