博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Department Highest Salary(花式使用IN以及GROUP BY)
阅读量:3964 次
发布时间:2019-05-24

本文共 1551 字,大约阅读时间需要 5 分钟。

The Employee table holds all employees. Every employee has an Id, a salary, and there is also a column for the department Id.+----+-------+--------+--------------+| Id | Name  | Salary | DepartmentId |+----+-------+--------+--------------+| 1  | Joe   | 70000  | 1            || 2  | Jim   | 90000  | 1            || 3  | Henry | 80000  | 2            || 4  | Sam   | 60000  | 2            || 5  | Max   | 90000  | 1            |+----+-------+--------+--------------+The Department table holds all departments of the company.+----+----------+| Id | Name     |+----+----------+| 1  | IT       || 2  | Sales    |+----+----------+Write a SQL query to find employees who have the highest salary in each of the departments. For the above tables, your SQL query should return the following rows (order of rows does not matter).+------------+----------+--------+| Department | Employee | Salary |+------------+----------+--------+| IT         | Max      | 90000  || IT         | Jim      | 90000  || Sales      | Henry    | 80000  |+------------+----------+--------+

以前使用IN,都是局限于单个数值使用,从未尝试过多个数据使用IN.

此题涉及两个表,肯定需要使用join操作.
此外,需要选取每个Department 的最大数值,那么肯定涉及max以及group by操作.
综合以上因素,答案如下所示:

# Write your MySQL query statement belowSELECT Employee.Name AS Employee, Employee.Salary, Department.Name AS Department FROM Employee, Department WHERE     Employee.DepartmentId = Department.Id    AND (Employee.DepartmentId, Employee.Salary)    IN         (SELECT Employee.DepartmentId, max(Employee.Salary)         FROM Employee         GROUP BY Employee.DepartmentId);

转载地址:http://jkuki.baihongyu.com/

你可能感兴趣的文章
android 各式各样progress 进度条大全
查看>>
Android事件分发机制完全解析,带你从源码的角度彻底理解
查看>>
开发Google眼镜的app
查看>>
Android base-adapter-helper 源码分析与扩展
查看>>
Android 快速开发系列 打造万能的ListView GridView 适配器
查看>>
Android 4.4从图库选择图片,获取图片路径并裁剪
查看>>
Android Fragment 你应该知道的一切
查看>>
使用AudioManager调节播放器音量的开发实例
查看>>
Android: ApiHelper
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3)
查看>>
安卓开发者必备的42个链接
查看>>
为GridView添加HeaderView
查看>>
我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!
查看>>
Android时间获取与使用
查看>>
Android WebRTC 音视频开发总结(一)
查看>>
用Gradle 构建你的android程序
查看>>
Android监听应用程序安装和卸载实现程序
查看>>
Android 监听apk安装替换卸载广播的实现代码
查看>>
Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
查看>>
Android下拉刷新上拉加载控件,对所有View通用!
查看>>