SQL limit offset 排序问题

① select * from table limit 2,1;
//含义是跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据
② select * from table limit 2 offset 1;
//含义是从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条
在这里插入图片描述

select
IFNULL
(select distinct salary

	from Employee

	order by salary Desc

	limit 11),

	null
)as SecondHighestSalary



例

select  distinct 成绩

from 成绩表

where 课程=‘语文’

order by 课程,成绩 desc

limit 1,1;

```bash
在这里插入代码片

高级版 得到第N高的salary

CREATE FUNCTION getNthHighestSalary(N INT) 
RETURNS INT
BEGIN    
set N=N-1;   
if N<0 then    
RETURN null;     
else   
return
  (   # Write your MySQL query statement below.  
      select ifnull      
      (              
      	(select distinct Salary               
      	from Employee                
      	order by Salary desc              
        limit N, 1),null)        
    as getNthHighestSalary    
 );
 END if;
 End
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值