SQL进阶14-15
文章目录
- SQL14 SQL类别高难度试卷得分的截断平均值 2.21
- SQL 15 统计作答次数2.21
SQL14 SQL类别高难度试卷得分的截断平均值 2.21
描述
牛客的运营同学想要查看大家在SQL类别中高难度试卷的得分情况。
请你帮她从exam_record数据表中计算所有用户完成SQL类别高难度试卷得分的截断平均值(去掉一个最大值和一个最小值后的平均值)。
所有用户表:
examination_info(exam_id试卷ID, tag试卷类别, difficulty试卷难度, duration考试时长, release_time发布时间)
exam_record表:
exam_record(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分)
结果保留一位小数
【分析】
截断平均值可以理解为:avg(sum - min - max)
round是用于小数精度处理
SELECT ei.tag, ei.difficulty,
ROUND((SUM(er.score) - MAX(er.score) - MIN(er.score))/(COUNT(er.score)-2), 1) clip_avg_score
FROM examination_info ei
JOIN exam_record er -- join exam_record using(exam_id)
WHERE ei.exam_id = er.exam_id AND ei.tag = 'SQL' AND ei.difficulty = 'hard'
1.ROUND(X, D) -- D表示保留几位小数
2.当两张表使用相同的列名时,join……on……可以简化为join……using (字段名),故上述join操作可以改为join exam_record using(exam_id)
SQL 15 统计作答次数2.21
描述
有一个试卷作答记录表exam_record,请从中统计出总作答次数total_pv、试卷已完成作答数complete_pv、已完成的试卷数complete_exam_cnt。
示例数据 exam_record表(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分):
示例输出:
解释:表示截止当前,有11次试卷作答记录,已完成的作答次数为7次(中途退出的为未完成状态,其交卷时间和份数为NULL),已完成的试卷有9001和9002两份。
【分析】
total_pv表示有开始时间start_time的次数–作答记录
complete_pv表示有提交时间的次数–提交记录
complete_exam_cnt表示有得分的次数–得分记录
-- 方法1
SELECT COUNT(start_time) AS total_pv,
COUNT(submit_time) as complete_pv,
COUNT(DISTINCT exam_id AND score IS NOT NULL) AS complete_exam_cnt
FROM exam_record
-- count中带表达式书写方式-- 方法2
select
count(exam_id) total_pv,
count(score) complete_pv,
(select count(DISTINCT exam_id)from exam_recordWHERE score is not null) complete_exam_cnt
FROM exam_record
-- 方式2第三句计算complete_exam_cnt时容易写成如下错误
-- count(select DISTINCT exam_id
-- from exam_record
-- WHERE score is not null
-- ) complete_exam_cnt-- 方法3 case whrn then else end 语句
SELECT
COUNT(start_time) AS total_pv,
COUNT(submit_time) as complete_pv,
COUNT(DISTINCT case when score is not null then 1 else 0 end)
FROM exam_record
SQL进阶14-15相关推荐
- Java学习路线-42:SQL进阶:约束、关系、连接
SQL进阶:约束.关系.连接 课时1 1.单表的查询练习 可视化客户端 SQLyog -- 查询部门编号为30的所有员工 select * from emp where deptno=30;-- 查询 ...
- js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)...
js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...
- 云计算之路-阿里云上:2013年4月7日14:15~18:35服务器故障经过
无地自容的道歉之后,向大家汇报一下故障的整个经过.在此再次向大家表示歉意,望大家能谅解! 14:15,有园友在闪存上说博客后台不能发布博文(见下图). 14:17左右,我们看到了这条闪存.立即进入博客 ...
- SQL进阶提升(疑惑篇order by)-学习sql server2005 step by step(十一)
这篇主要发出两个疑惑,希望有兴趣的人解答,谢谢! 1.newid()疑惑 1 create table tb (aa int,bb char(1)) 2 insert tb values(1,'A') ...
- Linq To Sql进阶系列 -目录导航
博客园CLR基础研究团队|CLR团队精品系列|C# 3.0专题 [Linq To Sql进阶系列] 目录导航 1 Linq To Sql进阶系列(一)-从映射讲起 本系列,或多或少,直接或间接依赖入门 ...
- python进阶14文件路径(找不到文件)
原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...
- 牛客网SQL 进阶篇刷题
牛客网SQL 进阶篇刷题(1-19) 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分: 用户1002在2021年9月4日上午7点1分2秒开始 ...
- sql优化的15个小技巧
最近找了找怎么优化SQL,总结了15个基础技巧 因为最近一直在写sql的原因,所以需要知道sql该怎么优化,怕哪一天线上的接口,出了问题,需要优化,就需要采用改造成本最小的. 先上个导图 1.避免使用 ...
- SQL性能优化15个小技巧
SQL性能优化15个小技巧 前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到. 如果某天你负责的某个线上接口,出现了性能问题,需要做优化.那么你首先想到的很有 ...
- [SQL基础教程] 1-5 表的删除和更新
[SQL基础教程] 1-5 表的删除和更新 表的删除 语法 DROP TABLE <表名>; 法则 1-12 删除的表无法恢复 表定义的更新 语法 ALTER TABLE<表名> ...
最新文章
- php的div和p的区别,p标签与div标签区别
- UA OPTI570 量子力学29 摄动理论简介
- 在2012年安装XCODE旧版本的错误解决方法
- 一位老师,一位领导,一个让全体学生考上目标学校的故事
- Oracle创建序列,删除序列
- 我也想对广大程序员说一些话
- webpack 报错 path is not defind
- Linux基础之常见命令用法(一)
- PyQt5将ui文件编译为py文件的方法
- Ubuntu18.04进入命令行模式和recovery-mode安装软件
- C#|RBG图像转灰度图像与图像灰度反转
- 南方cass快捷键命令修改在哪_南方cass快捷键命令
- IP切换器是做什么用的?
- linux ubuntu 安装odb,玩玩Linux云主机-Ubuntu安装nginx
- python-opencv视频转图片+图片转视频(步骤详解)(亲测有效)
- uniapp 地址转换经纬度
- 那个“天使”阿桑奇又回来了
- 在JavaScript中使用Octet Streams
- Jenkins自动化部署学习笔记(二、在Windows系统上使用Jenkins.war直接运行 )
- 区块链开发零基础必备技能之GO语言从入门到高级
热门文章
- 2小时入门神经网络与深度学习
- 阿里巴巴中国站按关键字搜索新品数据 API
- 你“被5G”了吗?5G套餐无法改4G 更有运营商下架4G
- 基于ART-PI ALIENTEK 4342 RGBLCD的touchgfx在rt-studio上的使用
- pandaboard es 制作SD启动卡OMAP4460
- nes 游戏引擎 原理分析
- 计算机二级vb知识点汇总,计算机等级考试二级VB考点:控件数组
- 全国计算机考试vb二级通过率,想知道计算机二级考试VB的到底通过率咋样???考过的请指教咋样复习...
- 互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营
- Frontpage2003的共享边框