当前位置: 首页 > news >正文

建站之星做的网站如何导出晋城建设网站

建站之星做的网站如何导出,晋城建设网站,网站的建设报价,新网站建设服务公司SQL22 统计每个学校的答过题的用户的平均答题数 描述 运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。 用户信息表 user_profile,其中device_id指终端编号(认为每个用户有唯一的一个终端),gender指…

SQL22 统计每个学校的答过题的用户的平均答题数

描述
运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。

用户信息表 user_profile,其中device_id指终端编号(认为每个用户有唯一的一个终端),gender指性别,age指年龄,university指用户所在的学校,gpa是该用户平均学分绩点,active_days_within_30是30天内的活跃天数。
device_id gender
age
university gpa active_days_within_30
2138 male 21 北京大学 3.4 7
3214
male NULL 复旦大学 4 15
6543 female 20 北京大学 3.2 12
2315 female 23 浙江大学 3.6 5
5432 male 25 山东大学 3.8 20
2131 male 28 山东大学 3.3 15
4321 male
28 复旦大学 3.6 9
第一行表示:用户的常用信息为使用的设备id为2138,性别为男,年龄21岁,北京大学,gpa为3.4,在过去的30天里面活跃了7天
最后一行表示:用户的常用信息为使用的设备id为4321,性别为男,年龄28岁,复旦大学,gpa为3.6,在过去的30天里面活跃了9天

答题情况明细表 question_practice_detail,其中question_id是题目编号,result是答题结果。
device_id question_id result
2138 111 wrong
3214 112 wrong
3214 113
wrong
6543 111 right
2315 115 right
2315 116 right
2315 117 wrong
5432 118 wrong
5432 112 wrong
2131 114 right
5432 113 wrong

第一行表示用户的常用信息为使用的设备id为2138,在question_id为111的题目上,回答错误

最后一行表示用户的常用信息为使用的设备id为5432,在question_id为113的题目上,回答错误

请你写SQL查找每个学校用户的平均答题数目(说明:某学校用户平均答题数量计算方式为该学校用户答题总次数除以答过题的不同用户个数)根据示例,你的查询应返回以下结果(结果保留4位小数),注意:结果按照university升序排序!!!

university avg_answer_cnt
北京大学 1.0000
复旦大学 2.0000
山东大学 2.0000
浙江大学 3.0000

解释:
第一行:北京大学总共有2个用户,2138和6543,2个用户在question_practice_detail里面答了2题,平均答题数目为2/2=1.0000

最后一行:浙江大学总共有1个用户,2315,这个用户在question_practice_detail里面答了3题,平均答题数目为3/1=3.0000

select university,count(question_id)/count(distinct qpd.device_id) avg_answer_cnt
from question_practice_detail qpd  
left join user_profile up
on qpd.device_id=up.device_id
group by university# group by university 按学校区分
# count(distinct qpd.device_id) 统计每个学校的总用户,注意:由于两个表都有device_id所以这里需要指出是哪一个
# count(question_id) 统计每个学校总答题的记录数# select university,
#     count(question_id) / count(distinct qpd.device_id) as avg_answer_cnt
# from question_practice_detail as qpd
# inner join user_profile as up
# on qpd.device_id=up.device_id
# group by university

==注意:==虽然上面sql返回的结果正确但是这并不意味着就是正确的。
==原因:==题目中提到结果按照university升序排序!!!
所以代码中需要添加一句order by语句

select university,count(question_id)/count(distinct qpd.device_id) avg_answer_cnt
from question_practice_detail qpd  
left join user_profile up
on qpd.device_id=up.device_id
group by university
order by avg_answer_cnt asc;

总结一下:

该题考查distinct、join on、left join on、inner join on 、group by、order by这些关键词的使用

去重Distinct

  1. SELECT DISTINCT语句的作用是查询指定列的所有不同的值,并将其作为结果集返回。也就是说,如果一个表中某个字段有多个重复的值,使用SELECT DISTINCT语句可以去除这些重复的值,只返回该字段的不同值。使用SELECT DISTINCT语句可以方便地对数据进行去重处理,避免重复数据造成的混淆和误操作

按某种属性排序查询 ORDER BY

  1. ORDER BY是SQL语句中的一个关键字,用于对查询结果进行排序。它可以对查询结果中的一个或多个字段进行升序或降序排序。ORDER BY的基本语法如下:

    SELECT column1, column2, … FROM table_name ORDER BY column_name [ASC|DESC];

    其中,column1、column2等是要查询的字段,table_name是要查询的表名,column_name是要排序的字段名。ASC表示升序排序,DESC表示降序排序。默认情况下,ORDER BY按升序排序。

    例如,要查询一个学生表,按成绩从高到低排序,可以写成:

    SELECT name, score FROM student ORDER BY score DESC;

    这样可以将查询结果按照成绩从高到低排序,方便查看学生的排名情况

http://www.yayakq.cn/news/599227/

相关文章:

  • 做排名的网站哪个好网页微博超话签到
  • 公司网站维护建设费入什么科目org域名为什么禁止备案
  • 营销网站建设的规则双公示网站专栏建设
  • 网页版传奇世界什么组合最好谷歌seo运营
  • cod单页建站工具青岛响应式网站设计
  • 四大免费网站域名查询服务器
  • wordpress做单页销售网站咸阳网
  • 电子商务网站建设的方法怎么看网站是否被收录
  • 临沂企业做网站pc端网站建设电话
  • pic cms图片网站管理系统手机版北京定制网站公司
  • 网站建设网络营销文章wordpress 翻页设置
  • 宝宝投票网站怎么做网站建设 上美天空
  • 所有网站收录入口水果店推广营销方案
  • 分栏型网站建立公司网站视频
  • 南昌金启网站建设怎么制作自己的签名
  • 房产中介网站建设模板企业网页制作公司青岛
  • 无锡网站建设网简述建设一个网站的一般过程
  • 机房建设网站泉州找工作网站
  • 郑州网站建设口碑好wordpress加载中
  • 退役厅网站建设中标公告双语网站建设定制开发
  • 如何做网站宣传自己大岭山镇做网站
  • 提供网站建设课程代码绵阳市住房 和城乡建设局网站
  • 长春火车站出入最新规定营销网站制作费用
  • 上海h5网站开发常德车管所网站
  • 创世网站人力资源公司外包
  • 深远互动 网站建设wordpress 主机模板
  • 咸宁公司网站建设建设网站需要造价
  • 上海知名的网站建设巨野做网站
  • 做网站的公司利润多少呢黄冈论坛遗爱网
  • 网站视频主持人制作南沙哪有做网站的