题1

https://www.nowcoder.com/practice/203d0aed8928429a8978185d9a03babc?tpId=240&tags=&title=&difficulty=0&judgeStatus=0&rp=0

解1

(select exam_id as tid,count(distinct uid) as uv,count(exam_id) as pv
FROMexam_record
group byexam_id)union all # 不去重(select question_id as tid,count(distinct uid) as uv,count(question_id) as pv
FROMpractice_record
group byquestion_id)order  BYLEFT(tid, 1) desc,uv desc,pv DESC;

解2

select *
from(select exam_id as tid,count(distinct uid) as uv,count(*) as pvfrom exam_recordgroup by exam_idorder by uv desc, pv desc) as examunionselect *
from(select question_id as tid,count(distinct uid) as uv,count(*) as pvfrom practice_recordgroup by question_idorder by uv desc, pv desc) as practice # 注意子表必须有表名。

解3

用tid字段的左边第一个数来排序。

要注意的是关于UNION后的排序问题,要么在UNION之前分别单独排序(如上解法),要么在union之后再排序:

(SELECT exam_id AS tid, COUNT(DISTINCT exam_record.uid) uv,COUNT(*) pv
FROM exam_record
GROUP BY exam_id)UNION(SELECT question_id AS tid, COUNT(DISTINCT practice_record.uid) uv,COUNT(*) pv
FROM practice_record
GROUP BY question_id)ORDER BY LEFT(tid,1) DESC, uv DESC, pv DESC;

题2

https://www.nowcoder.com/practice/a126cea91d7045e399b8ecdcadfb326f?tpId=240&tags=&title=&difficulty=0&judgeStatus=0&rp=0

select uid,'activity1' as activity
from exam_record
where year(submit_time) = 2021
group by uid
having min(score) >= 85 # 对于每组 要求最小得分不小于85,过滤union all  # 将两个筛选合并。不去重select distinct uid,'activity2' as activity
from exam_record e_r join examination_info e_ion e_r.exam_id = e_i.exam_id
where year(e_r.submit_time) = 2021and e_i.difficulty = 'hard'and e_r.score > 80and timestampdiff(minute, e_r.start_time, e_r.submit_time) * 2 < e_i.duration
order by uid

或:

select uid,'activity1' as activity
from exam_record
where year(submit_time) = 2021
group by uid
having min(score) >= 85 # 对于每组 要求最小得分不小于85,过滤union all  # 将两个筛选合并。不去重select distinct uid,'activity2' as activity
from exam_record e_r join examination_info e_ion e_r.exam_id = e_i.exam_id
where year(submit_time) = 2021and difficulty = 'hard'and score > 80and timestampdiff(minute, start_time, submit_time) * 2 < duration
order by uid

sql多表查询之合并查询(union)相关推荐

  1. 索引及其背后的数据结构(顺带介绍了一下子查询和合并查询)

    索引及其背后的数据结构(顺带介绍了一下子查询和合并查询) 子查询

  2. MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union

    接进阶篇①,我们继续学习. 一.联合查询 1.1 内连接 1.2 外连接 1.3 内连接和左右外连接的区别 二.自连接 三.子查询 3.1 单行子查询 3.2 多行子查询 使用 in 范围匹配多行 另 ...

  3. sql 多表多行模糊查询_从零开始学习SQL(五)多表查询

    经过之前的学习,现在我们已经对查询有了一定的了解,但是我们目前的所有查询都只能找到在一张表中的数据,但如果我们需要寻找分布在多张表格中的数据时,这种之前的查询就做不到了,这时就需要引入一种新的查询方法 ...

  4. Sql Server 表出现问题无法查询

    USE [hdj_dhlgdxdcdbxt_zs] declare @dbname varchar(255) set @dbname='数据库名' –转化为单用户模式,如法执行失败可通过 数据库-&g ...

  5. MySQL聚合查询实现多表查询,联合查询,合并查询

    Author:老九 计算机专业 可控之事 沉重冷静 不可控之事 乐观面对 85180586@qq.com

  6. 【MySQL联合查询】合并查询数据记录

  7. oracle 查询两张表合并,oracle的多表合并查询-工作心得

    刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多表合并查询的用法 select t.* from A t UNION ALL/UNION/Intersect/MINUS select s.* ...

  8. SQL合并查询、连接查询、SQL数据类型

    关联查询例题 select count(*) from t_activity a join t_user u1 on a.activity_owner = u1.user_id join t_user ...

  9. 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表

    前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...

最新文章

  1. 5 门可能衰落的编程语言
  2. NameError: name ‘train_test_split‘ is not defined的解决方法:
  3. R语言之字符处理(一)
  4. PCB设计要点-DDR3布局布线技巧及注意事项
  5. C语言 使用递归函数计算1到n之和
  6. C语言再学习 -- 位、字节、字、字长、字元的关系
  7. ORACLE DBA学习笔记--表空间的管理(tablespace)
  8. xp系统web服务器搭建教程,Windows_XP配置WEB服务器教程(图)
  9. 20145236 《Java程序设计》 第6周学习总结
  10. 为什么数据库使用有序索引,而程序员却在使用哈希表?
  11. Flex利用Datagrid来设置全选和单选
  12. 剑指offer面试题[9-2]-变态跳台阶
  13. TouchPanel--Qcom DRM休眠唤醒通知链的注册及回调流程
  14. Wifi热点工具-青青草原WiFi
  15. 新计算机如何用光盘安装系统,无光驱怎么重装系统|新电脑无光驱重装系统步骤...
  16. 通过多视图信息瓶颈学习鲁棒表征
  17. ShowType=0,● 交换机命令show interfaces type 0/port_# switchport|trunk用于显示中继连接的配置情况,下面 - 赏学吧...
  18. vue通过v-for取出的一个字段是时间戳格式转换成年月日
  19. 黑龙江局与深圳大疆公司等开展无人机植保技术交流
  20. mac文件夹怎么重命名?苹果电脑文件夹重命名快捷键

热门文章

  1. 【CF786B】Legacy
  2. datepick二格式 化时间_DateTimePicker中自定义时间或日期显示格式
  3. 【Vue】Vue 的 Props 如何初始化
  4. SSM整合(springMVC+spring+Mybatis)
  5. rapidssl入门ssl证书
  6. layout/reflow
  7. i7-10750H性能怎么样?相当于台式机什么水平?
  8. 论韩剧如何影响一个人
  9. js各类正则表达式(中文、字母、数字、全角)
  10. Android中获取软键盘状态和软键盘高度