码迷,mamicode.com
首页 > 数据库 > 详细

Mysql实现排序

时间:2018-01-28 20:55:46      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:rank   mysq   异常   rownum   实现   user   conf   ase   variable   

排序
 
SELECT
    obj.user_id,obj.score,@rownum := @rownum + 1 AS rownum
FROM
    (
        SELECT
            user_id,
            score
        FROM
            `sql_rank`
        ORDER BY
            score DESC
    ) AS obj,
    (SELECT @rownum := 0) r

 

 

 

有重复

SELECT
    obj.user_id,
    obj.score,
    CASE
WHEN @rowtotal = obj.score THEN
    @rownum
WHEN @rowtotal := obj.score THEN
    @rownum :=@rownum + 1
WHEN @rowtotal = 0 THEN
    @rownum :=@rownum + 1END AS rownum
FROM
    (
        SELECT
            user_id,
            score
        FROM
            `sql_rank`
        ORDER BY
            score DESC
    ) AS obj,
    (SELECT @rownum := 0 ,@rowtotal := NULL) r


C# 运行上面程序时会异常   需要   dbconfig + ";Allow User Variables=True;" 进行处理

 

Mysql实现排序

标签:rank   mysq   异常   rownum   实现   user   conf   ase   variable   

原文地址:https://www.cnblogs.com/change4now/p/8372227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!