调查问卷中的SQL查询问题

题目描述

假如A公司为了调查用户对于某产品的满意情况,设置了一套调查问卷,这套问卷一共有五道题,每个题的分值均在于0~10,得到调研结果统计表questions如下,其中id代表用户,items代表问卷中的问题,scores代表用户给出的分数。

id items scores
1 1 8
1 2 9
1 3 7
1 4 4
1 5 3
2 1 10
2 2 10
2 3 10
2 4 10
2 5 10
3 1 3
3 2 2
3 3 1
3 4 2
3 5 3

问题

(1)使用sql代码查出给所有问题打分均相同的用户,例如上述用户2。

(2)是用sql代码查出给所有问题打分均低于5分的用户,例如上述用户3。

答案

(1)

select q.id 
from (select id, count(distinct scores) as counting 
      from questions group by id) 
as q where q.counting = 1;

(2)

select id from questions group by id having max(scores) < 5;

你可能感兴趣的:(调查问卷中的SQL查询问题)