博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查询数据进行排名,一样的并列
阅读量:5171 次
发布时间:2019-06-13

本文共 625 字,大约阅读时间需要 2 分钟。

            项目中要对用户的记录数进行统计,并进行排名,要求数据一样的并列名次,例如 第一名有三个人都是100,那么接下来99的就是第四名

直接上SQL:

#####查询并列后调名次#################################SELECT    a.*,    @rownum := @rownum + 1 AS num_tmp,    @incrnum :=CASE                WHEN @rowtotal = a.total THEN        @incrnum         WHEN @rowtotal := a.total THEN        @rownum     END AS '排名'FROM    ( SELECT @rownum := 0, @rowtotal := NULL, @incrnum := 0 ) r,    ( SELECT user_id AS user_id, COUNT( * ) AS total FROM shopping_user_info GROUP BY user_id ORDER BY total DESC ) a

    我这里选择的是项目中的shopping_user_info表。

查询结果是:

 

可以看到排名 total 值想等的是同一个名次

 

转载于:https://www.cnblogs.com/wyf-love-dch/p/11084518.html

你可能感兴趣的文章
全球外贸客户资源网站总汇
查看>>
杂项-CORS:CORS(跨域资源共享)
查看>>
杨柳目-杨柳科:杨柳科
查看>>
Node.js:JXcore
查看>>
优化CUDA数据传输
查看>>
2018-10-27
查看>>
python-整理--连接MSSQL
查看>>
JS图片画方块定位坐标
查看>>
[C#]写自己的类库
查看>>
汉诺塔
查看>>
CentOS安装zip及用法
查看>>
RocketMQ系列实战
查看>>
关于SharePoint 2010体系架构的几个话题
查看>>
页面布局
查看>>
Eclipse 配置SSH 详解
查看>>
什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
查看>>
Django Mysql数据库-聚合查询与分组查询
查看>>
Android Studio单元测试入门
查看>>
easyui ---- jEasyUI-定制提示信息面板组件
查看>>
[TypeStyle] Reusable styles using TypeStyle mixins
查看>>