从表中获取随机行(但仅当行包含特定值时)

时间:2012-01-08 11:32:19

标签: php mysql

我们假设我有一个名为animals的表,如下所示:

1 red     fox
2 blue    elephant
3 red     dog
4 yellow  cat
5 green   mouse
6 blue    rat

实际上,我想要做的是创建一个只包含我指定值的行的临时表(虚拟表)。例如red

1 red     fox
3 red     dog

然后从此虚拟表中获取一个随机行。

我不想做的是永久创建这些表,并且必须不断更新它们从主animals表中获取信息。我想动态地执行此操作并快速使用某种子查询,视图,临时表或任何您想要调用它的内容。

请记住,我是一个完整的PHP菜鸟,可以使用尽可能多的澄清语法。

1 个答案:

答案 0 :(得分:3)

您可以使用如下所示的SQL查询

SELECT * FROM table
where color = 'red'
ORDER BY RAND()
LIMIT 1 

您可以将限制更改为要获取的任意行数