我有以下查询:
select @rownum:=@rownum+1 ‘rank’, pgid, picfile from pages,
(SELECT @rownum:=0) r
where pos = 23
order by Rand()
limit 4
这会从数据库中选择图像文件名并为其分配行号。不幸的是,Rand() 的顺序随后将这些行随机化,因此图像始终具有相同的行号,但“排名”字段是随机排序的。
rank picfile
3 c.jpg
1 a.jpg
4 b.jpg
2 d.jpg
我想要的是“等级”顺序始终为 1、2、3、4、5,但 picfile 名称是随机排序的
rank picfile
1 a.jpg
2 d.jpg
3 c.jpg
4 b.jpg
并且下次运行查询时,例如,我想要....
rank picfile
1 b.jpg
2 d.jpg
3 a.jpg
4 c.jpg
希望我已经正确解释了!
非常感谢克里斯的期待