2022-12-05:部门工资前三高的所有员工。编写一个SQL查询找出每个部门中收入前三高的员工 。 +------------+----------+--------+ | Department |
2022-12-05:部门工资前三高的所有员工。编写一个SQL查询找出每个部门中收入前三高的员工 。
±-----------±---------±-------+
| Department | Employee | Salary |
±-----------±---------±-------+
| IT | Max | 90000 |
| IT | Joe | 85000 |
| IT | Randy | 85000 |
| IT | Will | 70000 |
| Sales | Henry | 80000 |
| Sales | Sam | 60000 |
±-----------±---------±-------+
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `department` VALUES ('1', 'IT');
INSERT INTO `department` VALUES ('2', 'Sales');
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`salary` int(11) NOT NULL,
`department_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `employee` VALUES ('1', 'Joe', '85000', '1');
INSERT INTO `employee` VALUES ('2', 'Henry', '80000', '2');
INSERT INTO `employee` VALUES ('3', 'Sam', '60000', '2');
INSERT INTO `employee` VALUES ('4', 'Max', '90000', '1');
INSERT INTO `employee` VALUES ('5', 'Janet', '69000', '1');
INSERT INTO `employee` VALUES ('6', 'Randy', '85000', '1');
INSERT INTO `employee` VALUES ('7', 'Will', '70000', '1');
答案2022-12-05:
sql语句如下:
SELECT
d.Name AS 'department', e1.Name AS 'employee', e1.salary
FROM
employee e1
JOIN
department d ON e1.department_id = d.id
WHERE
3 > (SELECT
COUNT(DISTINCT e2.salary)
FROM
employee e2
WHERE
e2.salary > e1.salary
AND e1.department_id = e2.department_id
)
;
执行结果如下:

2022-12-05:部门工资前三高的所有员工。编写一个SQL查询找出每个部门中收入前三高的员工 。 +------------+----------+--------+ | Department |的更多相关文章
- 如何用分析函数找出EMP表中每个部门工资最高的员工
EMP表是Oracle测试账户SCOTT中的一张雇员表,首先,我们来看看emp表的数据 SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE ...
- 找出一堆数中最小的前K个数
描写叙述: 给定一个整数数组.让你从该数组中找出最小的K个数 思路: 最简洁粗暴的方法就是将该数组进行排序,然后取最前面的K个数就可以. 可是,本题要求的仅仅是求出最小的k个数就可以,用排序能够但显然 ...
- 找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
int [][]a={{3,2,6},{6,8,2,10},{5},{12,3,23}}; //先对二维数组进行遍历:然后把二维数组合成一个数组 int[] k=new int[11]; int q= ...
- 15.找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
package com.bao; public class Erweim { public static void main(String[] args) { int[][]a={{3,2,6},{6 ...
- sql:找出工资第二高的人名
CREATE TABLE EmpSalaryInfo ( Id ), Name ), Salary int ) ) ) ) ) 方法1 (子查询): name from test where sala ...
- 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- Linux中找出占用内存最多的前N个进程
一.使用ps命令 ps -aux | sort -k4nr | head -N *命令详解: 1. head:-N可以指定显示的行数,默认显示10行. 2. ps:参数a指代all——所有的进程,u指 ...
- [SQL]LeetCode185. 部门工资前三高的员工 | Department Top Three Salaries
SQL 架构 Create table If Not Exists Employee (Id ), Salary int, DepartmentId int) Create table If Not ...
- 部门工资前三高的所有员工 - LeetCode
Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId . +----+-------+--------+---- ...
- sql查询:部门工资前三高的员工和部门工资最高的员工
创建表:Create table If Not Exists Employee (Id int, Name varchar(255), Salary int, DepartmentId int);Cr ...
随机推荐
- Unity泛型单例模式
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Singleto ...
- [ABC284F] ABCBAC(字符串哈希)
思路 这里我们要注意以下几点: 字符串哈希自然溢出(\(\pmod 2^64\))会被卡,会\(WA~5\)个点 注意有模数的时候不要用\(unsigned\ long \ long\)类型 代码 # ...
- ffmpeg的常用参数
-encoders 查看支持的编码器 Intel处理器的核心显卡支持的编码器带有qsv后缀(Intel quick sync video acceleration) NVIDIA独立显卡 ...
- 解决ssh $host jps bash: jps: command not found 问题
问题描述 使用 ssh $host jps 命令报错,连本机也会有这样的情况,但是分开使用并没有问题,即ssh $host下执行jps命令并不会报错. 原因 因为ssh远程连接到服务器的环境变量中不包 ...
- adb 全局
win10: 我的电脑-右键属性--系统保护--高级--环境变量--选择path--编辑--点击新建 在新建条目下输入 C:\Users\GL\platform-tool--重新打开cmd 测试adb ...
- SublimeText实现Markdown快速预览
SublimeText是什么? SublimeText是一个文本编辑器,同时也是一个先进的代码编辑器.SublimeText具有漂亮的用户界面和强大的功能,它的主要功能包括:拼写检查,书签,完整的Py ...
- Android Studio报错--Build failed with an exception.
错误描述 在代码写好之后,点击运行,会爆出这样的错误,查看日志,发现是Manifest.xml文件爆出来的错误 具体解决 我的错误没有别的版本那么麻烦,就是我建立了Empty Activity之后,我 ...
- IDEA编写JSP无代码提示
网上的版本 网上的版本 网上的我试了 但是未能解决 我自己解决的方法是 File => Poject Struct=>Modules=>"+"=>找到自己系 ...
- 手动实现一个call bind
一.call的实现(apply类似) //完成版 Function.prototype.setCall = function (obj){ var object = obj || window let ...
- mongodb安装及操作
1.回顾 node服务器的写法 服务器 前后端分离 前后端不分离 express express生成器 ejs模版语法:变量.条件判断.循环渲染.引入 2.mongodb介绍 MongoDB 是一个基 ...