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

佛山市建设官方网站网站建设合同 果动.l

佛山市建设官方网站,网站建设合同 果动.l,wordpress网站配置,数字化经营服务商官网链接#xff1a; 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record#xff08;uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240tqId2183007ru%2…官网链接 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_recorduid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240tqId2183007ru%2Fpractice%2F45a87639110841b6950ef6a12d20175fqru%2Fta%2Fsql-advanced%2Fquestion-rankingsourceUrl 0 问题描述 基于试卷作答记录表exam_record、试卷信息表examination_info 统计2021年每个未完成试卷作答数大于1的有效用户的数据有效用户指完成试卷作答数至少为1且未完成数小于5 1 数据准备 drop table if exists examination_info; CREATE TABLE examination_info (id int PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,exam_id int UNIQUE NOT NULL COMMENT 试卷ID,tag varchar(32) COMMENT 类别标签,difficulty varchar(8) COMMENT 难度,duration int NOT NULL COMMENT 时长,release_time datetime COMMENT 发布时间 )CHARACTER SET utf8 COLLATE utf8_general_ci;drop table if exists exam_record; CREATE TABLE exam_record (id int PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid int NOT NULL COMMENT 用户ID,exam_id int NOT NULL COMMENT 试卷ID,start_time datetime NOT NULL COMMENT 开始时间,submit_time datetime COMMENT 提交时间,score tinyint COMMENT 得分 )CHARACTER SET utf8 COLLATE utf8_general_ci;INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES(9001, SQL, hard, 60, 2020-01-01 10:00:00),(9002, SQL, easy, 60, 2020-02-01 10:00:00),(9003, 算法, medium, 80, 2020-08-02 10:00:00);INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES (1001, 9001, 2021-07-02 09:01:01, 2021-07-02 09:21:01, 80), (1002, 9001, 2021-09-05 19:01:01, 2021-09-05 19:40:01, 81), (1002, 9002, 2021-09-02 12:01:01, null, null), (1002, 9003, 2021-09-01 12:01:01, null, null), (1002, 9001, 2021-07-02 19:01:01, 2021-07-02 19:30:01, 82), (1002, 9002, 2021-07-05 18:01:01, 2021-07-05 18:59:02, 90), (1003, 9002, 2021-07-06 12:01:01, null, null), (1003, 9003, 2021-09-07 10:01:01, 2021-09-07 10:31:01, 86), (1004, 9003, 2021-09-06 12:01:01, null, null), (1002, 9003, 2021-09-01 12:01:01, 2021-09-01 12:31:01, 81), (1005, 9001, 2021-09-01 12:01:01, 2021-09-01 12:31:01, 88), (1005, 9002, 2021-09-01 12:01:01, 2021-09-01 12:31:01, 88), (1006, 9002, 2021-09-02 12:11:01, 2021-09-02 12:31:01, 89); 2 数据分析 step1:  获取各用户的tag,start_time及未完成标记和已完成标记如果该作答记录交卷了则已完成标记为1未完成标记为0否则相反if(submit_time is null, 1, null) as incomplete 代码如下 select er.uid,ei.tag,er.start_time,-- incomplete 未提交试卷的标记if(er.submit_time is null, 1, null) as incomplete,-- complete已提交试卷的标记if(er.submit_time is not null, 1,null) as complete from exam_record er left join examination_info ei on er.exam_id ei.exam_id where year(er.start_time)2021 step2:   用户分组group by uid统计未完成试卷作答数incomplete_cnt 、已完成试卷作答数complete_cnt_cnt筛选出有效用户having complete_cnt 1 and  incomplete_cnt 1 and incomplete_cnt 5 对于每条作答tag用符号 : 来拼接 日期字段和tag字段concat_ws(:, date(start_time), tag); 对于一个人组内的多条作答需去重distinct concat_ws(:, date(start_time), tag); group_concat ( 要连接的字段  [separator 分隔符]) 最终代码如下 SELECT uid,-- 未完成试卷的作答数count(incomplete) as incomplete_cnt,-- 已完成试卷的作答数count(complete) as complete_cnt,-- distinct concat_ws(:, date(start_time), tag) as cw-- group_concat ( cw separator ;)group_concat(distinct concat_ws(:, date(start_time), tag) separator ;) as detail from (SELECT er.uid,ei.tag,er.start_time,-- incomplete 未提交试卷的标记if(er.submit_time is null, 1, null) as incomplete,-- complete已提交试卷的标记if(er.submit_time is not null, 1,null) as completefrom exam_record erleft join examination_info ei on er.exam_id ei.exam_idwhere year(er.start_time)2021 ) as t1 group by uid -- 有效用户完成试卷的作答数至少为1 and 未完试卷的作答数小于5且大于1 having complete_cnt 1 and incomplete_cnt 1 and incomplete_cnt 5 order by incomplete_cnt desc; 3 小结 本案例涉及到if条件判断count即条件聚合。 此外还涉及到date日期函数、concat_ws、group_concat函数的使用 concat_ws(带分隔符的字符串连接函数) 语法concat_ws(string SEP, string A ,string B.......)返回值string说明返回输入字符串连接后的结果,SEP表示各个字符串的分隔符举例select  concat_ws(|,ad,cv,op) ;--- ad|cv|op group_concat函数 语法group_concat([distinct] 要连接的字段 [order by 排序字段 asc/desc] [separator 分隔符])说明将group by产生的同一个分组中的值连接起来返回一个字符串结果参数解释distinct排除重复值 如果需要对结果中的值进行排序可以使用order by子句separator 分隔符是拼接符号默认为逗号返回值stringsql举例 #--- 对buyer字段进行分组把去除重复冗余的spending字段的值打印在同一行加号分隔 select buyer,group_concat(distinct spending separator ) from spend group by buyer;
http://www.hkea.cn/news/14532866/

相关文章:

  • wordpress门户主题下载什么是搜索引擎优化用一句话概括
  • 小说网站建设多少钱网站友链外链
  • 东莞网站推广渠道有哪些备案成功后怎么做网站
  • 网站构建建设移动网站建设指南
  • 贵阳网站建设网站制作在线玩传奇
  • 网上购物网站建设规划论文免费wordpress申请
  • 餐饮网站建设设计价格网络营销企业案例
  • 网站推广文案怎么写网站前端浏览器兼容如何做
  • 免费建立网站空间网站增加点击率 怎样做
  • 科技医疗网站建设淘宝详情页制作教程
  • 网站主色调有几种我想注册一个做门窗的网站应该怎样做
  • 深圳三站合一网站建设云南建设人力资源网站
  • 教学直播平台网站建设费用免费素材库短视频素材网站
  • 网站建设先进城市郑州网站seo
  • 网站建设可行性报告怎么进入自己网站主机地址
  • 腾虎广州网站建设wordpress记录用户搜索
  • 生活类网站内容建设做网站的公司是什么
  • 南昌网站建设行情自动翻译网站软件
  • 企业做网站怎么做纪检网站建设方案
  • 怎么用织梦制作响应式布局网站织梦网站模板教程
  • 深圳网站建设的公网站安装php
  • 图片1600px做网站代理行业门户网站
  • 深圳网站建设企业一台vps可以做几个网站
  • 青海企业网站建设html图标代码大全
  • 学校网站建设培训方案模板廉江网站建设公司
  • 枣庄住房和城乡建设局网站电商网站怎么做搜索
  • 网站做com合net的区别电子商务网站课程设计总结
  • 外贸网站推广平台姓名logo设计在线生成
  • 网站做自己的超链接无锡谁会建商务网站
  • 哪里有做网站平台云南网站设计