问卷调查,关于选择题,后台查看数据,某一选择题 选A的个数 与此题 选择ABCD的个数 的比例、选B的个数 与此题 选择ABCD的个数 的比例、选C。。。。。
具体格式:(这里我就用以前的数据处理这道题,其中,name字段相当于题目的总括,里面的数据相当于具体的题目(zhangsan、lisi.....),grade就是所选择的ABCD,salary不用管,在这题没有实际的意义)
student表:
要求结果如下:例如zhangsan这题 选A的占67%,选B的占33%,选C的占0%,选D的占0%。
1、思考:
子查询、分组
2、编写:
sql语句:
select name,count(*) total,
ROUND((SELECT count(*) FROM student S1 WHERE grade='A' and S1.name=S2.name)/count(*),2) as A ,
ROUND((SELECT count(*) FROM student S3 WHERE grade='B' and S3.name=S2.name)/count(*),2) as B,
ROUND((SELECT count(*) FROM student S4 WHERE grade='C' and S4.name=S2.name)/count(*),2) as C,
ROUND((SELECT count(*) FROM student S5 WHERE grade='D' and S5.name=S2.name)/count(*),2) as D
from student S2 group by name