我使用此查询从MySQL获取元素;
select * from bahis where onay='1' or onay='2' order by rand()
但元素可以与此查询相同。例如,我有 3 个与此查询匹配的值,A,B,C
它可以生成A A B或A BC或A B B
但我想生成它们,如
A B C 或 C B A 或 B A C。我该怎么做?
如前所述,您的查询不会多次输出任何单个行 - 它只会以随机顺序返回每一行。如果您在结果中收到重复项,则您的表必须包含重复项;如果这是正确的,并且您只需要抑制它们,请使用 DISTINCT
修饰符(例如,SELECT DISTINCT * ...
)。
使用类似的东西
select * from
(select * from bahis where onay='1' or onay='2' group by abc_field) s1
order by rand()