在mysql

时间:2018-05-26 08:40:07

标签: php mysql random

我正在尝试使用RAND()函数从mysql中检索随机行。但结果行重复不止一次。有没有办法以一种只返回一次的方式返回随机行?

我的查询是:SELECT h.recid recid, h.name name, h.subtitle subtitle, h.pricingfrom pricingfrom FROM holydays h ORDER BY RAND()

我找到this解决方案,但我不明白它是如何工作的,因为我没有任何限制...... 任何答案将不胜感激。!

2 个答案:

答案 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中的一些时间。这是逻辑。