mysql sql语句查询指定数据在查询数据列表中排名第几

需求是这样的,我们有个排名列表,需要查询出当前条件下的指定人员的信息是在排序后的第几条。

两种sql解决方案

SELECT a.* FROM 

(SELECT
    *,
    (@i :=@i + 1) AS No
FROM
    jira_issue_statistics
    , (SELECT @i:=0) AS it
WHERE
    year = 2018 and mounth = 10 
ORDER BY
 count DESC) as a
 
 WHERE a.reporter = 'jianglei_tmp'

方案2:

SELECT year,reporter,count,rowno FROM (
        select * from 
        (
                    select * from(
                            SELECT  year, mounth, reporter, count,(@rowno:=@rowno+1) as rowno  FROM jira_issue_statistics csss where year = 2018 and mounth = 10 ORDER BY count desc
                    ) bcc,(select (@rowno:=0)) b ORDER BY count DESC

        ) tempst where tempst.year = 2018 and tempst.mounth = 10      ORDER BY count desc 

) c 
WHERE   c.reporter='jianglei_tmp';

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值