2012-08-14 71 views
1

我通过使用此查询从MySQL获取元素;使用rand()从MySQL生成独特的随机元素

select * from bahis where onay='1' or onay='2' order by rand() 

但是元素可以与此查询相同。例如,我有3个值,与此查询相匹配,A,B,C

它可以产生AAB或ABC或ABB

但我想生成它们像ABC或CBA或BA C.

我该怎么做?

+0

我认为这不是您的完整查询。你可能有一个命令组 – Mahoor13 2012-08-14 18:26:58

+1

'SELECT DISTINCT ...'? – 2012-08-14 18:27:20

+0

谢谢马克,帮助。 – Slavez 2012-08-14 19:00:40

回答

1

书面,你的查询将不会输出任何个人行不止一次 - 它只是返回随机顺序每一行。如果您在结果中获得重复项,则表中必须包含重复项;如果这是正确的,并且您只需要抑制它们,请使用DISTINCT修饰符(例如,SELECT DISTINCT * ...)。

1

使用这样的事情

select * from 
(select * from bahis where onay='1' or onay='2' group by abc_field) s1 
order by rand()