码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 569. 员工薪水中位数


    Employee 表包含所有员工。Employee 表有三列:员工Id,公司名和薪水。

    +-----+------------+--------+
    |Id   | Company    | Salary |
    +-----+------------+--------+
    |1    | A          | 2341   |
    |2    | A          | 341    |
    |3    | A          | 15     |
    |4    | A          | 15314  |
    |5    | A          | 451    |
    |6    | A          | 513    |
    |7    | B          | 15     |
    |8    | B          | 13     |
    |9    | B          | 1154   |
    |10   | B          | 1345   |
    |11   | B          | 1221   |
    |12   | B          | 234    |
    |13   | C          | 2345   |
    |14   | C          | 2645   |
    |15   | C          | 2645   |
    |16   | C          | 2652   |
    |17   | C          | 65     |
    +-----+------------+--------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    请编写SQL查询来查找每个公司的薪水中位数。挑战点:你是否可以在不使用任何内置的SQL函数的情况下解决此问题。

    +-----+------------+--------+
    |Id   | Company    | Salary |
    +-----+------------+--------+
    |5    | A          | 451    |
    |6    | A          | 513    |
    |12   | B          | 234    |
    |9    | B          | 1154   |
    |14   | C          | 2645   |
    +-----+------------+--------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    drop table if EXISTS Employee;
    CREATE TABLE If Not Exists Employee (Id INT, Company varchar(50), Salary int);
    
    insert into Employee values (1,'A','2341');
    insert into Employee values (2,'A','341');
    insert into Employee values (3,'A','15');
    insert into Employee values (4,'A','15314');
    insert into Employee values (5,'A','451');
    insert into Employee values (6,'A','513');
    insert into Employee values (7,'B','15');
    insert into Employee values (8,'B','13');
    insert into Employee values (9,'B','1154');
    insert into Employee values (10,'B','1345');
    insert into Employee values (11,'B','1221');
    insert into Employee values (12,'B','234');
    insert into Employee values (13,'C','2345');
    insert into Employee values (14,'C','2645');
    insert into Employee values (15,'C','2645');
    insert into Employee values (16,'C','2652');
    insert into Employee values (17,'C','65');
    select * from Employee;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    select Id,Company,Salary
    from (
    select Id,Company,Salary,
    ROW_NUMBER() over(partition by Company order by Salary) rk,
    count(*) over(partition by Company) cnt
    from Employee
    )t1
    where rk IN (FLOOR((cnt + 1)/2), FLOOR((cnt + 2)/2))
    
    //order by是由顺序要求的,自己的解法
    select Id,Company,Salary
    from(
    select Id,Company,Salary,count(*) over(partition by company) rk_count,row_number() over(partition by company order by salary) rk
    from employee
    )tmp1
    where rk between ceil(rk_count/2) and floor(rk_count/2)+1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    中位数:

    +1向上取整 +2 向下取整数

  • 相关阅读:
    NISP证书有什么用?NISP证书就业方向?
    qmt量化交易策略小白学习笔记第29期【qmt编程之获取行业概念数据--如何下载板块分类信息及历史板块分类信息】
    【git】Git 回退代码到某次 commit
    MacBook将iPad和iPhone备份到移动硬盘
    荧光染料BDP FL ceramide,BDP-FL神经酰胺
    Python + Django4 搭建个人博客(十二):实现删除文章功能页面
    基于Elasticsearch + Fluentd + Kibana(EFK)搭建日志收集管理系统
    微调语言大模型选LoRA还是全参数?基于LLaMA 2深度分析
    Facebook的创新实验室:人工智能与新技术探索
    干货|建模3D Max中常见问题
  • 原文地址:https://blog.csdn.net/komonder/article/details/126111651
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号