gpt4 book ai didi

MySQL 在随机结果中随机化

转载 作者:行者123 更新时间:2023-11-28 23:38:30 24 4
gpt4 key购买 nike

好的,假设我有下表

=================
gr name
=================
A John
A Mary
A1 Jack
A1 Stephen
A Jess
A2 Neil
A2 Chris

我想做的是用一个规则随机排序结果,A1 应该坚持 A1(随机顺序),A2 应该坚持 A2(随机顺序)。

=================
gr name
=================
A Mary
A2 Chriss
A2 Neil
A Jess
A John
A1 Stephen
A1 Jack

群名是免费的,如果你能想出更好的群名,欢迎使用。

谢谢。

编辑:对于那些好奇的人,我想创建的是一个在线测验。它将以随机顺序提出问题,以最大程度地减少作弊。有一个规则,带有段落文本的问题应该相互粘在一起(以随机顺序),这样学生就不必多次阅读同一段落。

“段落分组问题”在其他非段落问题中随机排列。

如果您对此有更好的想法,请随时回答。

我找到了这个链接: MySQL order by rand() grouped by day

我认为我的情况与他的情况相似。只是他要选一个,我要选所有。

我试过的另一个查询

SELECT * FROM `tbl` ORDER BY gr, rand()

能够随机化name列,gr相互粘连。我有一个问题,如何随机化 gr 列的顺序,同时仍然使 A1、A2 彼此粘连

最佳答案

这是另一种方法。诀窍是在开头为 A1 和 A2 生成 2 个随机数,并在排序中使用它们:

select a.*
from tbl a
join (select @a1:=rand(), @a2:=rand()) b
order by case gr
when 'A1' then @a1
when 'A2' then @a2
else rand() end, rand();

fiddle

关于MySQL 在随机结果中随机化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35097846/

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