mysql分页排序带参数

http://www.dewen.io/q/4248


select empid,deptid,rank from (
select c.empid,c.deptid,
if(@pdept=c.deptid,@rank:=@rank+1,@rank:=1) as rank,
@pdept:=c.deptid
from ( 
select catid AS empid,siteid as deptid from v9_category 
) c ,(select  @pdept := null ,@rank:=0) a ) result 




SELECT empid,deptid,salary,rank FROM 
    (SELECT *,@rownum:=@rownum+1 AS rownum,IF(@pa=ff.deptid,@rank:=@rank+1,@rank:=1) AS rank,@pa:=ff.deptid 
    FROM 
    (SELECT empid,deptid,salary FROM employee GROUP BY deptid,salary ORDER BY deptid ASC, salary DESC) ff,(SELECT @rank:=0,@rownum:=0,@pa=NULL) tt) result


这个可以:行号和排序序号都有:
select * from (
select c.empid,c.deptid,@rownum:=@rownum+1 AS rownum,
-- if(@pdept=c.deptid,@rank:=@rank+1,@rank:=1) as rank,@pdept:=c.deptid 相同不并列
if(@pdept=c.deptid,@rank:=@rank,@rank:=@rank+1) as rank,@pdept:=c.deptid -- 相同的并列排序
from ( 
-- select catid AS empid,siteid as deptid from v9_category 
 SELECT n.id empid, n.catid deptid,c.catname FROM v9_news n JOIN v9_category c ON c.catid=n.catid -- LIMIT 1,15


) c ,(select  @pdept := null ,@rank:=0,@rownum:=0) a ) result 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值