zoukankan      html  css  js  c++  java
  • mysql排名

    转载自思心思危http://www.cnblogs.com/zengguowang/p/5541431.html

    一、sql1{不管数据相同与否,排名依次排序(1,2,3,4,5,6,7.....)}

    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

    二、sql2{只要数据有相同的排名就一样,排名依次排序(1,2,2,3,3,4,5.....)}

    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 + 1
    END AS rownum
    FROM
        (
            SELECT
                user_id,
                score
            FROM
                `sql_rank`
            ORDER BY
                score DESC
        ) AS obj,
        (SELECT @rownum := 0 ,@rowtotal := NULL) r

    三、sql2{只要数据有相同的排名就一样,但是相同排名也占位,排名依次排序(1,2,2,4,5,5,7.....)}  

       此时需呀再增加一个变量,来记录排序的号码(自增)

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





  • 相关阅读:
    让程序在后台长久运行的方法
    unrecognized selector sent to instance的定位
    CocoaLumberjack调试的简单使用
    #pragma
    __bridge __bridge_retained __bridge_transfer
    关于c#继承
    C#__ 模拟鼠标单击事件
    C# 调用win api获取chrome浏览器中地址
    认识安卓
    源码解析-Volley(转自codeKK)
  • 原文地址:https://www.cnblogs.com/mjbenkyo/p/8093029.html
Copyright © 2011-2022 走看看