MySQL - 使用LEFT JOIN返回随机记录

时间:2011-12-17 12:40:20

标签: php mysql

我想知道有人可以帮助我。

我想在我的网站上显示随机的“民意调查”,我的数据库中有大约50个,我想在每次重新加载页面时显示一个不同的。[/ p>

要获得民意调查,我正在使用以下SQL查询....但这会获得表格中的第一个...我怎么能告诉它获得随机的'民意调查'

SELECT * 
  FROM polls 
  LEFT JOIN pollanswers ON polls.pollID = pollanswers.pollID 
 WHERE polls.pollID = 1 
 ORDER By pollAnswerListing ASC

非常感谢

3 个答案:

答案 0 :(得分:3)

使用ORDER BY RAND() LIMIT 1,并可能删除WHERE子句,假设polls.pollID是您的主键。

SELECT * 
FROM polls 
 LEFT JOIN pollanswers ON polls.pollID = pollanswers.pollID 
/*WHERE polls.pollID = 1*/
 ORDER BY RAND() LIMIT 1

答案 1 :(得分:0)

您必须将pollID更改为某个随机数

polls.pollID = 1 

到例如。

polls.pollID = 9

答案 2 :(得分:0)

生成1到50之间的随机数(假设您有50个民意调查) 并将其作为PollId值传递给您的mysql查询,而不是硬编码值1

var randomId= rand(5, 50);

在查询中使用此randomId