题目链接:https://leetcode.com/problems/nth-highest-salary/description/ 题意:查询出表中工资第N高的值 思路: 1、先按照工资从高到低排序(注意去重) 1 selectdistinctSalaryfromEmployeeorderbySalarydesc 2、使用rownum给查询出的数据标注行号 1 selectrownum
执行结果中的rank列将Num转化为从1开始递增的序号,但序号只在Num出现变化时增加,(连续出现的相同数字序号也相同) 第二层SELECT语句对rank进行计数,并只保留计数不小于3的条目,执行结果为: +---+---+ | Num | Cnt | +---+---+ | 1 | 3 | +---+---+ 最外层SELECT语句对Num进行去重。 三、Depar...
SQL 数据分析 力扣(LeetCode) 赞同21 条评论 分享喜欢收藏申请转载 写下你的评论... 1 条评论 默认 最新 实蛋老师Z WITH Highest_Salary AS ( SELECT D.Name AS Department, E.Name AS Employee, E.Salary, rank() OVER (PARTITION BY E.DepartmentId ORDER BY E...
解题思路是利用WHERE连接子句来构造筛选条件,子句汇中构造了一个新的表max,用到了IN操作符来选择DepartmentId 和Salary,group by 用来根据DepartmentId分组以便分别 求每个系的最高薪水。 解答二: SELECTD.NameASDepartment ,E.NameASEmployee ,E.SalaryFROMEmployee E, (SELECTDepartmentId,max(Salary)asmaxFROMEmploy...