1

我想从数据库中获取随机行,但使用一些内容来限制它。

例如表的定义:

id | content | tags

查询是:SELECT * FROM tbl ORDER BY RAND() LIMIT 1

标签部分看起来像:tag1, tag2, tag42. 因此,例如,我想要一个随机行,其中包含tag42or tag2inside tags

一些伪代码:

SELECT * FROM tbl ORDER BY RAND() WHERE tags LIKE '%tag42%' OR '%tags2%' LIMIT 1.

4

1 回答 1

3

您的伪代码几乎是正确的,除了您的子句顺序错误:WHERE来之前ORDER BY

SELECT * FROM tbl WHERE tags LIKE '%tag42%' OR '%tags2%' ORDER BY RAND() LIMIT 1

请参阅文档以了解SELECT语法,以免再次出错

于 2013-03-11T19:08:07.070 回答