如何从具有精确行数的表中选择随机行?

时间:2012-04-01 01:31:11

标签: php mysql random row

使用PHP和MySQL,我想从表中只选择6行,每行有更多行。我尝试使用如下代码:

  SELECT * FROM table WHERE rand()<=$fragment LIMIT 6

其中片段为6除以总行数。结果中的行数大多为6,但有时小于6。

如何获得恰好有六行的结果?

2 个答案:

答案 0 :(得分:5)

SELECT * FROM table 
WHERE some condition
ORDER BY RAND() 
LIMIT 6

答案 1 :(得分:2)

SELECT * FROM table order by rand() limit 6;

这将始终为您提供随机选择的6行(只要您的表中至少有6行)。