SQL每日一题(5)

前言:五更!五更琉璃!不对!是,五更佩可!

原始数据:

new_hires

reason other_column1 other_column2
校园招聘 信息 1 1
社会招聘 信息 2 2
内部推荐 信息 3 3
猎头推荐 信息 4 4
校园招聘 信息 5 5
社会招聘 信息 6 6
内部推荐 信息 7 7
猎头推荐 信息 8 8
校园招聘 信息 9 9
社会招聘 信息 10 10

题目一:

查询新进类型中,不同原因的合计人数以及人数排名。

结果输出原因、人数、排名。

题目二:

排名第 4 的原因是什么?对应人数为多少?

填写示例:社会招聘 20

题目一:思路:排名当然dense_rank排序了,然后其余直接查询就好

复制代码
SELECT
    reason,
    COUNT(*) AS num_people,
    DENSE_RANK() OVER (ORDER BY COUNT(*) DESC) AS rk
FROM new_hires
GROUP BY reason
ORDER BY rk;

题目二:搜索对应rank =4的即可

复制代码
WITH t1 AS (
    SELECT
        reason,
        COUNT(*) AS num_people,
        DENSE_RANK() OVER (ORDER BY COUNT(*) DESC) AS rk
    FROM new_hires
    GROUP BY reason
)
SELECT
    reason,
    num_people
FROM t1
WHERE rk = 4;

或者利用order by desc limit offset即可

复制代码
SELECT
    reason,
    COUNT(*) AS num_people
FROM new_hires
GROUP BY reason
ORDER BY num_people DESC  -- 降序排列,人数最多的在前
LIMIT 1 OFFSET 3;        -- 跳过前3名,取第4名
相关推荐
越来越无动于衷1 小时前
基于 JWT 的登录验证功能实现详解
java·数据库·spring boot·mysql·mybatis
看天走路吃雪糕1 小时前
墨者:SQL手工注入漏洞测试(MySQL数据库-字符型)
数据库·mysql·sql注入·sqlmap·墨者学院·字符型注入
柊二三6 小时前
XML的简略知识点
xml·数据库·oracle
每天敲200行代码8 小时前
MySQL 事务管理
数据库·mysql·事务
巴里巴气8 小时前
MongoDB索引及其原理
数据库·mongodb
程序员勋勋18 小时前
Redis的String数据类型底层实现
数据库·redis·缓存
不修×蝙蝠9 小时前
MySQL 全详解:从入门到精通的实战指南
数据库·mysql·索引·最左前缀
我的ID配享太庙呀10 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
还是奇怪11 小时前
深入解析三大Web安全威胁:文件上传漏洞、SQL注入漏洞与WebShell
sql·安全·web安全
不辉放弃11 小时前
kafka的消费者负载均衡机制
数据库·分布式·kafka·负载均衡