作为排名的sql输出

作为排名的sql输出,sql,mysql,analytics,ranking,rank,Sql,Mysql,Analytics,Ranking,Rank,如果我在sql表中有一个随机值表,我如何将它们导出并显示为一个耙,而不是绝对值。。。例如如果这三个值分别为30、85和90,如何获得30 do显示为1或1,85显示为2或2等,请尝试: set @i = 0; select myValue, @i:=@i+1 as Ranking from myTable order by myValue ASC 尝试: MySQL没有支持行数、秩、密秩的分析函数,这通常是您用于此类需求的 使用: 例如: SELECT x.num,

如果我在sql表中有一个随机值表,我如何将它们导出并显示为一个耙,而不是绝对值。。。例如如果这三个值分别为30、85和90,如何获得30 do显示为1或1,85显示为2或2等,请尝试:

set @i = 0;
select myValue,
        @i:=@i+1 as Ranking
from myTable 
order by myValue ASC
尝试:


MySQL没有支持行数、秩、密秩的分析函数,这通常是您用于此类需求的

使用:

例如:

  SELECT x.num,
         @rownum := @rownum + 1 AS ranking
    FROM (SELECT 30 AS num
          UNION ALL
          SELECT 85
          UNION ALL
          SELECT 90) x
    JOIN (SELECT @rownum := 0) r
ORDER BY x.num
您可以使用:

SELECT (SELECT COUNT(*)
          FROM YOUR_TABLE b
         WHERE b.value <= a.value) AS ranking
  FROM YOUR_TABLE a

…但复制品将具有相同的排名值。您必须确保值比较的方向正确。

MySQL没有支持行数、秩、密秩的分析函数,这通常是您用于此类需求的函数

使用:

例如:

  SELECT x.num,
         @rownum := @rownum + 1 AS ranking
    FROM (SELECT 30 AS num
          UNION ALL
          SELECT 85
          UNION ALL
          SELECT 90) x
    JOIN (SELECT @rownum := 0) r
ORDER BY x.num
您可以使用:

SELECT (SELECT COUNT(*)
          FROM YOUR_TABLE b
         WHERE b.value <= a.value) AS ranking
  FROM YOUR_TABLE a
…但复制品将具有相同的排名值。您必须确保值比较的方向正确。

可能重复的可能重复的可能重复的可能重复的可能重复的您可能需要myValue ASC的订单。您可能需要myValue ASC的订单。