我正在尝试使用RAND()
函数从mysql中检索随机行。但结果行重复不止一次。有没有办法以一种只返回一次的方式返回随机行?
我的查询是:SELECT h.recid recid, h.name name, h.subtitle subtitle, h.pricingfrom pricingfrom FROM holydays h ORDER BY RAND()
我找到this解决方案,但我不明白它是如何工作的,因为我没有任何限制...... 任何答案将不胜感激。!
答案 0 :(得分:1)
查询的ORDER BY
子句与结果集无关,除非正在使用LIMIT
,否则它不在此处。听起来像你的桌子有一些重复的记录。如果您想要一个没有重复的随机排序,请选择DISTINCT
:
SELECT DISTINCT
recid,
name,
subtitle,
pricingfrom
FROM holydays
ORDER BY RAND();
答案 1 :(得分:0)
通过随机列来按顺序工作 ex,有id,name,emai然后有时它命令id,姓名,电子邮件或一些时间名称,id,emai等等,并且它在asc中有时间顺序和desc中的一些时间。这是逻辑。