力扣MYSQL练习
2024-09-06 22:11:31
176编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
select IFNULL((SELECT distinct salary
from employee
order by salary desc
limit 1,1),NULL)AS SECONDHIGHESTSALARY;
select max(salary) as SecondHighestSalary
from employee
where salary not in (select max(salary) from employee);
178编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。
别人的解法,先去重,再count,这样效率好很多,,我那解法巨慢。
select Score,
(select count(*) from(select distinct Score s from Scores) temp where s>=Score) as Rank
from Scores
order by Score desc
最新文章
- SSIS 2010 BUG 一例
- CSS中有关水平居中和垂直居中的解决办法
- JavaScript中正则表达式test()、exec()、match() 方法
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
- (转)ORA-12519: TNS:no appropriate service handler found 的问题处理。
- 【第三方登录】之QQ第三方登录
- 使用NHibernate(10) -- 补充(inverse &;&; cascade)
- java8个基本类型和它们所占的字节数
- 深入浅出Java并发包—锁机制(二)
- java匹配中文汉字的正则表达式
- 图片url中包含中文导致网络请求404
- js和css分别实现透明度的动画实现
- CodeFirst数据库迁移小记
- win7限制登录时间的设置方法
- Java Calendar 计算时间差
- 必须用C模拟OS?
- 2017-2018-1 20155215 第五周 mybash的实现
- bugku web 管理员系统
- appium python入门例子
- 阿里___MQTT中协议QoS的实现