按desc和rand排序结果

问题描述 投票:0回答:1

我想显示从最高值记录到最低值记录的每一个结果每次都受限。这是我的查询:

SELECT * FROM names ORDER BY RANK DESC, RAND();

返回:

ID  NAME RANK

1  PEPE 2500

2  PACO 2200

3  JOSE 1900

我想在每次查询运行时自动获得它:

ID  NAME RANK

1  PEPE 2500

然后:

ID  NAME RANK

2  PACO 2200

最后显示最后一条记录,然后再次返回第一个结果:

ID  NAME RANK

 3  JOSE 1900
mysql sql pdo
1个回答
0
投票

您可以使用LIMITOFFSET

获得第一条记录:

SELECT * FROM names ORDER BY RANK DESC LIMIT 1

第二条记录:

SELECT * FROM names ORDER BY RANK DESC LIMIT 1, 1

第三条记录:

SELECT * FROM names ORDER BY RANK DESC LIMIT 1, 2

注:不清楚为什么要按RAND()排序;由于您的所有记录都具有不同的RANK,因此第二种排序标准是无操作,因此我将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.