问卷调查,后台查看数据,关于sql的编写

问卷调查,关于选择题,后台查看数据,某一选择题 选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

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值