啊啊啊啊啊,昨天去海底捞面试,丢死人啦,因为我好久好久没用group by了.
面试问题:一张表,里面存放着各部门员工的应出勤天数,实际出勤天数,查出每个部门出勤率最高的三名员工及平均出勤率.

#mysql建表语句
create table `check`
(id            int        not nullprimary key,department_id varchar(2) null,user_id       int        null,should_days   int        null,actual_days   int        null
);

这里有个问题,如果某部门出勤率第三名有多个人,那可能选出来的就不止3个人,这个细节我没想到怎么去解决.

select c.department_id, c.user_id, c.actual_days/c.should_days as rate,t.rt
from `check` c
left join (select k.department_id, sum(k.actual_days)/sum(k.should_days) as rt from `check` k
group by k.department_id
) t on t.department_id = c.department_id
where
(select count(*) from `check` ccwhere c.department_id=cc.department_idand c.actual_days/c.should_days < cc.actual_days/cc.should_days)<3
order by c.department_id,rate desc;

查出每个部门的出勤率前三位的员工相关推荐

  1. 【SQL开发实战技巧】系列(十四):计算消费后的余额计算银行流水累计和计算各部门工资排名前三位的员工

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  2. 查出每个部门的工资前三的员工信息

    目录 一.建员工信息表u_info: 1.建表: 2.插入员工数据: 二.建部门表department: 1.建表: 2.插入部门数据: 三.表内容: 四.要求及实现: 1.要求: 2.SQL如实现步 ...

  3. js手机号中间部分隐藏****,显示前三位和后四位

    js手机号中间部分隐藏****,显示前三位和后四位 //slice(n,s)从已有数组中截取选择的元素,不会影响原数组.//n,s是数组元素的下标,n是开始截取元素的下标,S是结束截取元素的下标,可以 ...

  4. PL/SQL将电话号码前三位用括号括起来(以XXX-XXX-XXXX为例)

    使用串接运算符"||" 例如:将下图电话号码的前三位用括号括起来: PL/SQL中输入SQL语言: SELECT '('||SUBSTR(PHONE,1,3)||')'||SUBS ...

  5. 一个五位数取前三位matlab,【有五个小球,分别是1,2,3,4,5号,有放回的从中取三次,每次取一个,...-前三后五取一颗-数学-关偈邓同学...

    概述:本道作业题是关偈邓同学的课后练习,分享的知识点是前三后五取一颗,指导老师为习老师,涉及到的知识点涵盖:[有五个小球,分别是1,2,3,4,5号,有放回的从中取三次,每次取一个,...-前三后五取 ...

  6. html 账号只显示前3位,只知道手机号码前三位还有名字能查到全部号码 – 手机爱问...

    2018-04-01 新浪的地址是什么呢? 请注意:如果您的邮箱已经开始收费,退订成功后,从下个月起将不会从您的手机上再次扣费.退订后,您的收费邮箱到期后将不能使用,所以请您一定要做好备份. 退订请您 ...

  7. 设计科目类Subject,其类的实例表示大学课程科目。一门课程包含课程名(String)、课程编码(code)为六位字符串,前三位字符为字母代表学科领域,后三位字符为数字,课程编码是唯一的。

    求大神帮忙写一个变成 带注释的 我实在是没整明白!! 救救孩子吧 孩子可着急了! 设计科目类Subject,其类的实例表示大学课程科目.一门课程包含课程名(String).课程编码(code)为六位字 ...

  8. python取前三位_Python 实现取多维数组第n维的前几位

    Python 实现取多维数组第n维的前几位 现在我们有一个shape为(7352, 9, 128, 1)的numpy数组. 想要取出第2维的前三个数据,构成新数组(7352, 3, 128, 1) 我 ...

  9. 1亿美元成为超级富豪新基准,美国、中国、印度亿万富翁数量排全球前三位 | 美通社头条...

    美通社消息:一个老生常谈的问题是:需要多少钱才能被视为超级富豪?最新的一份关于亿万富翁崛起的标志性报告显示,尽管如Elon Musk.Mark Zuckerberg.Jeff Bezos.Roman ...

最新文章

  1. 一学就会的 Python 时间转化总结(超全)
  2. 【 FPGA 】UltraFast设计方法学:如何管理IP约束
  3. 又一年度热销爆款,OPPO R11上市一个月勇夺线下销量第一
  4. ASP.NET中移除全部缓存
  5. HTML5新增表单验证
  6. G.Eating Together(LIS,LDS)
  7. $().each()和$.each()
  8. hdu 5094 Maze
  9. CF815C Karen and Supermarket [树形DP]
  10. [html] 你知道什么是粘性布局吗?
  11. postgreSQL除法保留小数
  12. Boot Hill 布特山
  13. iOS5 UIKit新特性
  14. 信标链 分片链 是什么?
  15. Java常用软件官网下载地址【汇总】
  16. TeXmacs 中文输入问题
  17. 曲线绕x轴旋转曲面方程_绕x轴旋转(微积分旋转体绕y轴旋转体积~我看不懂图片上的公式~...)...
  18. Jenkins凭据导出
  19. 心田花开:成长路上千万不要弄丢了父母
  20. 分众Q卡:免费领取的“维络卡” 基于此对SOLOMO模式的思考;

热门文章

  1. 我爱c语言图片,opecv学习之路【五】–显示一张图片
  2. 全栈式中间件助党政、教育、医疗行业开新局、筑新基
  3. JAVA String的常见用法
  4. 心跳包(检测不可检测断线)
  5. linux卸载libc6,更新出问题,libc6-dev : 依赖: libc6
  6. android 背诵方歌项目
  7. 一个中国小业主的异想世界!
  8. wireguard windows\linux版本client\server的配置
  9. 在python中、使用( )语句导入模块_Python导入模块,Python import用法(超级详细)...
  10. 黄金走势图分析你要注意哪些方面?