我想显示从最高值记录到最低值记录的每一个结果每次都受限。这是我的查询:
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
您可以使用LIMIT
和OFFSET
。
获得第一条记录:
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
,因此第二种排序标准是无操作,因此我将其删除。