1

データベースからランダムな行を取得したいのですが、一部のコンテンツを使用して制限します。

たとえば、テーブルの定義は次のとおりです。

id | content | tags

クエリは次のとおりSELECT * FROM tbl ORDER BY RAND() LIMIT 1です。

タグ部分は次のようになりますtag1, tag2, tag42。したがって、たとえば、を持っている行tag42またはtag2内部にある行からランダムな行を1つ必要としtagsます。

いくつかの擬似コード:

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

4

1 に答える 1

3

句の順序が間違っていることを除いて、擬似コードはほぼ正しいですWHEREORDER BY

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

二度と間違えないように、構文についてはドキュメントをSELECT参照してください

于 2013-03-11T19:08:07.070 に答える