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

【高频SQL基础50题】11-15

迷迷糊糊,debug又一天。

目录

1.查询近30天活跃用户数

2.员工的直属部门 

3.换座位

4.患某种疾病的患者 

5.大的国家 

1.查询近30天活跃用户数

 

 排序和分组题。

# Write your MySQL query statement below
SELECT activity_date AS day,count(DISTINCT user_id) AS active_users
FROM Activity
WHERE DATEDIFF("2019-07-27",activity_date) BETWEEN 0 AND 29
#排序
GROUP BY activity_date

 

2.员工的直属部门 

 高级查询和连接。

这里的max使用非常好,因为结果必然存在。

 

# Write your MySQL query statement below
SELECT
employee_id,IF(COUNT(department_id)=1,department_id,MAX(CASE primary_flag WHEN 'Y' THEN department_id END)) AS department_id
FROM Employee
GROUP BY employee_id

 

ps:

case when要搭配聚合函数使用

3.换座位

 

子查询。

我开始的思路是调换名字,后面发现改动id比较快,排序后重新编号即可。

 

# Write your MySQL query statement below
SELECT @id:=@id+1 AS id,student FROM seat,(SELECT @id:=0) AS val ORDER BY CASE WHEN id%2=0 THEN id ELSE id +2 END;

ps:

4.患某种疾病的患者 

 高级字符串表达式。

# Write your MySQL query statement below
SELECT *
FROM PATIENTS
WHERE CONDITIONS REGEXP '^DIAB1|\\sDIAB1';

 

5.大的国家 

 

查询题。

# Write your MySQL query statement below
SELECT name,population,area FROM world WHERE population>=25000000
UNION
SELECT name,population,area FROM world WHERE area>=3000000;

 

ps: or和union 


http://www.kler.cn/a/325540.html

相关文章:

  • 掌握C语言内存布局:数据存储的智慧之旅
  • 【Kafka】Linux+KRaft集群部署指南
  • 微服务之松耦合
  • 基于光偏振与光学调制实现白光干涉相移
  • Qwins的使用
  • Require:利用MySQL binlog实现闪回操作
  • Linux中的tr命令详解
  • 11-pg内核之锁管理器(六)死锁检测
  • PostgreSQL 一张表多个字段关联另一张表
  • 路由器的天线有什么用?数量多≠信号强?
  • C++番外篇-------排序算法总结
  • 数字孪生平台,助力制造设备迈入超感知与智控新时代!
  • 《C++多态性:开启实际项目高效编程之门》
  • Error:Decorators are not valid here. 使用Angular中的装饰器
  • MetaAI最新开源Llama3.2亮点及使用指南
  • 企业构建AI所需的最低可行基础设施:从数据存储到大模型集成
  • rocky9.2实现lvs(DR模式)+keepalived实现高可用的案例详解(双机热备、lvs负载均衡、对后端服务器健康检查)
  • ResNet18果蔬图像识别分类
  • centos 7 通过MegaCli 可以查询RAID硬盘
  • 负载均衡的作用
  • RK3588主板PCB设计学习(四)
  • Springboot Mybatis 动态SQL
  • 【RocketMQ】消费失败重试与死信消息
  • 低代码平台中的宿主概念解析与字典、角色、岗位及权限管理
  • 金属增材制造咋突破?纳米纹理粉末如何助力金属增材制造?
  • C++ bitset(位图)的模拟实现