day26 员工薪水中位数

569. 员工薪水中位数
在这里插入图片描述
写一个SQL查询,找出每个公司的工资中位数。

任意顺序 返回结果表。

查询结果格式如下所示。
在这里插入图片描述
在这里插入图片描述
SQL:方法一

select id, company, salary from (selectid, company, salary,row_number() over(partition by company order by salary) as rk,count(id) over(partition by company) as totalfrom employee
) as t
where t.rk in (floor((total + 1) / 2), floor((total + 2) / 2));

解析

  • 使用 row_number() 计算排名,并按照 company 分组, salary 升序
  • 按照 company 分组,并计算总数
  • 现在只需要筛选出中位数就可以了
    • 筛选条件 floor((total + 1) / 2) 和 floor((total + 2) / 2) , floor 是想下取整
      • 当 total = 6,中位数是 3 和 4 ,这里计算的结果正是 3 和 4
      • 当 total = 5,中位数是 3,这里计算的两个值分别是 3 和 3
    • 筛选条件也可以使用 where 排名 >= total / 2 and 排名 <= total / 2 + 1
      • 当 total = 6,中位数是 3 和 4 , 排名 ≥ 3 and 排名 ≤ 4 ,筛选出来的是 3 和 4
      • 当 total = 5,中位数是 3 , 排名 ≥ 2.5 and 排名 ≤ 3.5 ,筛选出来的就是 3
        SQL:方法二
SELECT Id, Company, Salary
FROM Employee
WHERE Id in (SELECT e1.IdFROM Employee e1JOIN Employee e2ON e1.Company = e2.CompanyGROUP BY e1.IdHAVING SUM(CASE WHEN e1.Salary >= e2.Salary THEN 1 ELSE 0 END) >= COUNT(*)/2 AND SUM(CASE WHEN e1.Salary <= e2.Salary THEN 1 ELSE 0 END) >= COUNT(*)/2)
GROUP BY Company, Salary
ORDER BY Company

步骤:

  1. 做自连接,连接条件为公司名e1.Company = e2.Company,之后按e1.Id分组
  2. 两个子集的生成:
    第一个子集:SUM(CASE WHEN e1.Salary >= e2.Salary THEN 1 ELSE 0 END) >= COUNT()/2 用来统计下半部分+1个
    第二个子集:SUM(CASE WHEN e1.Salary <= e2.Salary THEN 1 ELSE 0 END) >= COUNT(
    )/2用来统计上半部分+1个
    这里取>= COUNT(*)/2是为了使两个子集有交集
  3. 接着把上面的两个条件求交集,作为HAVING子句的筛选条件,然后统计id
  4. 最后把选出来的id放到WHERE里面从Employee表找出对应的行即可
    注意分组和排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/67641.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建设银行IT审计体系概况及实施策略

建设银行IT审计体系概况及实施策略 https://www.toutiao.com/i6950614591236030990/?tt_fromweixin&utm_campaignclient_share&wxshare_count1&timestamp1618412086&appnews_article&utm_sourceweixin&utm_mediumtoutiao_ios&use_new_style1&…

财务欺诈研究中常用的违规类型

财务欺诈研究中常用的违规类型 针对中国公司披露欺诈&#xff08;Disclosure fraud)会计欺诈&#xff08;Accounting fraud&#xff09;其他欺诈&#xff08;Other fraud&#xff09;CSMAR数据库中存在&#xff0c;但文章中鲜有涉及的违规类型参考文献 针对美国公司 针对中国公…

基于大数据的银行反欺诈的分析报告 【转载,可用于风控系统架设借鉴】

转载至 https://www.cnblogs.com/yueyebigdata/p/5893454.html Growth跃爷Hacker &#xff08;怕收藏至浏览器文件夹有天会有遗漏&#xff0c;转至自己博客中&#xff0c;推荐去看原文&#xff09; 0&#xff0c;大数据知识背景。 在我第一次接触大数据的时候&#xff0c;那…

如何在公司审计中保持安全

如何在公司审计中保持安全 如今&#xff0c;财务弹性是决定您的公司能否在不确定时期适应和发展的主要属性之一。这可能令人很惊讶&#xff0c;但您的年度业务审计可以成为您提高业务敏捷性的秘密武器。它通过确定内部控制和财务报告的效果以及哪些流程改进应该在您的优先级列…

信用卡客户风险分析与评价

1、处理信用卡数据异常值 1.训练要点 (1)熟悉信用卡的基本业务知识。 (2)掌握异常值的识别与处理方法。 2.需求说明 为了推进信用卡业务良性发展&#xff0c;减少坏账风险&#xff0c;各大银行都进行了信用卡客户风险识别的相关工作&#xff0c;建立了相应的客户风险识别模型。…

会话存档如何帮助企业风控、实现金融行业审计?

会话存档于2020年7月面向全行业开放&#xff0c;此前是企业微信仅面向金融行业开放的风控管理工具。会话存档的推出与运用&#xff0c;在满足金融行业对于企业微信聊天记录留档刚需的同时&#xff0c;也满足了各行业对于员工监管、信息安全的诉求。今天我将为您着重讲解会话存档…

FRM银行操作风险计量

FRM金融风险管理师二级科目:操作风险管理2019年版本 思维导图,链接:https://pan.baidu.com/s/1WQo4XIIiZfijXnwhF_LLOw 密码:0043 一、什么是操作风险? 所谓操作风险(Operational Risk),指的是由不完善或有问题的内部程序、员工和信息科技系统,以及外部事件所造成损失…

达观银行询证函解决方案,文档智能审核技术提升审计回函业务往来效率

银行询证函是指会计师事务所在执行审计过程中&#xff0c;以被审计企业名义向银行发出的&#xff0c;用以验证该企业在银行的对公业务以及出资情况是否真实、合法、完整的询证性书面文件。银行根据询证的项目对客户账户信息等进行查证及核实后&#xff0c;予以回函。 按照财政部…

银行客户信用风险评估项目

银行客户信用风险评估项目 要求&#xff1a; 补全并调试每部分代码&#xff0c;在代码后面附输出结果截图。 说明&#xff1a; 4.5-4.10特征分布&#xff0c;做法相同&#xff08;第一次&#xff09; 4.11-4.14连续型数据特征分布&#xff0c;做法相同&#xff08;第一次&am…

ChatGPT漫谈(三)

AIGC(AI Generated Content)指的是使用人工智能技术生成的内容,包括文字、图像、视频等多种形式。通过机器学习、深度学习等技术,AI系统可以学习和模仿人类的创作风格和思维模式,自动生成大量高质量的内容。AIGC被视为继用户生成内容(UGC)和专业生成内容(PGC)之后的下…

科大讯飞星火认知大模型怎么样?

“鉴于SparkDesk服务目前处于内部用户体验阶段&#xff0c;所有与SparkDesk相关的交互内容、技术参数等信息均被视为保密信息。您了解并同意&#xff0c;且有责任对这些保密信息严格保密&#xff0c;您不得以任何方式&#xff08;包括但不限于截图、录屏、拍照等&#xff09;披…

科大讯飞发布星火认知大模型

5月6日&#xff0c;讯飞正式发布星火&#xff0c;寓意&#xff1a;星星之火 可以燎原。 发布会之后&#xff0c;市场也给出了非常积极的回应&#xff0c;周一股价直接涨停。 相对于百度&#xff0c;发布文心一言的时候&#xff0c;股价一边掉了10%&#xff0c;成绩还是非常亮眼…

IBM打响用AI取代人类岗位的第一枪,约7800人被永久淘汰

夕小瑶科技说 分享来源 | 量子位 “这不是演习&#xff0c;AI让人失业来真的了&#xff01;”就在这个劳动节假期&#xff0c;科技巨头IBM宣布&#xff1a;暂缓可以被AI取代的岗位的招聘&#xff0c;约7800人将被永久淘汰。 尽管“我们要被AI取代”的唬人消息不是第一次出现了&…

有了这些 AI 工具,健康和财富兼得「GitHub 热点速览」

作者&#xff1a;HelloGitHub-小鱼干 新的一周&#xff0c;又有什么新的 AI 应用呢&#xff1f;在 AI 专场&#xff0c;这次是文本生语音和双语对话模型&#xff0c;前者能解决你的语音问题&#xff0c;后者则是清华开源的模型&#xff0c;能让你搞个自己的类 ChatGPT 对话助手…

无法启动程序,拒绝访问解决方法

出现上面错误&#xff0c;我的情况是这样的&#xff0c;解决方案中有3个项目&#xff0c;运行的时候出现这个问题&#xff0c; 解决方法就是把需要运行出结果的那个项目右击设置为启动项目。

远程服务器不允许匿名登录,匿名远程访问COM+应用时被拒绝访问的问题

匿名远程访问COM应用时被拒绝访问的问题 08/28/2011 3 minutes to read In this article 有个客户在一个Win2k3的域下建立了一个COM应用服务器&#xff0c;而客户端是一个工作组机器。 为了重现这个场景&#xff0c;我们按照以下的方式&#xff0c;允许以匿名的方式访问调用COM…

5 分钟搞懂 BFF

随着微服务架构越来越复杂&#xff0c;前端需要和越来越多的后端服务交互&#xff0c;为了解决前端的复杂性问题&#xff0c;提出了 BFF 架构。原文: What is a BFF? And how to build one? 现在谁还会构建单体服务&#xff1f;微服务才是正确的选择&#xff01;但这不是一个…

仿58同城地方门户本地生活小程序源码

仿58同城地方门户本地生活小程序源码 PHP仿58同城小程序 微信分类信息平台 地方门户本地生活 完整源码带后台,后台基于微擎&#xff08;非Thinkphp&#xff09;开发&#xff0c;不懂微擎的请不要下载&#xff0c;内涵详细安装教程文档 同城小程序微信扫码 模板消息如何设置&a…

最新开源家政预约服务小程序源码系统,完整前后端+搭建教程

全新好用的完全开源家政预约服务小程序源码系统&#xff0c;带完整前后端搭建教程&#xff0c;功能强大&#xff01; 完全开源的家政上门预约服务小程序源码系统是一款专业家政门到门预约服务应用小程序&#xff0c;源码下载地址&#xff1a;春哥技术博客&#xff0c;完全开源可…

【2022-11-26】JS逆向之北京百姓网

提示&#xff1a;文章仅供参考&#xff0c;禁止用于非法途径&#xff01; 文章目录 前言一、页面分析二、验证码识别三、验证码获取四、总结 前言 目标网站&#xff1a;https://beijing.baixing.com/zhengzu/?page40 一、页面分析 清除cookie&#xff0c;重新刷新网页&#…