我目前正在处理一系列调查数据:
UserID|用户名|SurveyID|QuestionID|ResponseID|isSkipers
-|
1|测试1|100|10|1|0
1|测试1|100|20|2|0
2|测试2|101|10|3|0
2|测试2|101|20|4|1
3|测试3|102|10|5|1
3|测试3|102|20|6|1
我正在寻找一个查询来给我用户、SurveyID和一个标志(0=完成/1=未完成),告诉我他们是否完成了所有问题(所有isSkibled值都是0)……所以结局应该是..。
UserID|用户名|SurveyID|完整
-|-|
1|测试1|100|0
2|测试2|101|1
3|测试3|102|1
有谁能帮帮我吗?我尝试使用GROUP BY
和SUM
/COUNT
等,但每个用户总是得到多行。我肯定我错过了一些简单的东西。
2条答案
按热度按时间mutmk8jj1#
大概,对于您所需的结果,您需要:
jv4diomz2#
因为他们完成了一个问题就足够被认为是完成了,所以您可以只为您的
complete
状态选择max(isSkipped)
。UserID|用户名|SurveyID|完整
-|-|
1|测试1|100|0
2|测试2|101|1
3|测试3|102|1
Fiddle