MySQL根据用户的接单量统计用户的排名

订单表字段:id,userId,用户表字段:id

实现SQL:

SELECT COUNT(1)+1 as '排名' FROM (SELECT
            COUNT(o.id) AS order_count
        FROM
            rf_order o
        INNER JOIN rf_user u ON u.id = o.userId
        AND u.deleted = 'Normal'
        WHERE
            o.deleted = 'Normal')a
WHERE order_count> (
        SELECT
            COUNT(o.id) AS order_count FROM rf_order o
        INNER JOIN rf_user u ON u.id = o.userId
        AND u.deleted = 'Normal'
        WHERE
            o.deleted = 'Normal'
        AND u.id = 10
    )

实现的思想,计算排名,就是计算接单量比它本人高的有几个,然后加1就是它自己的排名。

比如根据分数统计学生的排名:

select count(1)+1 as '排名'
  from test
  where fenshu>(select fenshu from test where name='学生名字')


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部