177
排名问题
排名是数据库中的一个经典题目,实际上又根据排名的具体细节可分为3种场景:
- 连续排名,例如薪水3000、2000、2000、1000排名结果为1-2-3-4,体现同薪不同名,排名类似于编号
- 同薪同名但总排名不连续,例如同样的薪水分布,排名结果为1-2-2-4
- 同薪同名且总排名连续,同样的薪水排名结果为1-2-2-3
limit offset
SELECT * FROM admin LIMIT 4,3;
和
SELECT * FROM admin LIMIT 3 OFFSET 4;#MySQL5.0之后支持该语法
这2句效果一样,他们是等价的
limit y
分句表示: 读取 y 条数据limit x, y
分句表示: 跳过 x 条数据,读取 y 条数据limit y offset x
分句表示: 跳过 x 条数据,读取 y 条数据
LIMIT里面不能做运算,不用加括号
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
RETURN (
# Write your MySQL query statement below.
select
min(a.salary)
from
employee a
where
(
select
count