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