gpt4 book ai didi

mysql - 与其他字段随机顺序的行号

转载 作者:行者123 更新时间:2023-11-29 13:27:42 26 4
gpt4 key购买 nike

我有以下查询:

select @rownum:=@rownum+1 ‘rank’,  pgid, picfile from pages,
(SELECT @rownum:=0) r
where pos = 23
order by Rand()
limit 4

这会从数据库中选择图像文件名并为其分配行号。不幸的是,Rand() 的顺序随后会随机化这些行,因此图像始终具有相同的行号,但“rank”字段是随机排序的。

rank picfile
3 c.jpg
1 a.jpg
4 b.jpg
2 d.jpg

我想要的是“排名”顺序始终为 1, 2, 3, 4, 5,但图片文件名称是随机排序的

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

希望我已经正确解释了!

非常感谢期待克里斯

最佳答案

只需将 rownum 部分设为外部查询即可:

SELECT @rownum:=@rownum+1 ‘rank’, * 
FROM
(SELECT pgid, picfile FROM pages, (SELECT @rownum:=0) r
WHERE pos = 23
ORDER BY Rand()
LIMIT 4
)
ORDER BY rank

关于mysql - 与其他字段随机顺序的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19911647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com