データベースからランダムな行を取得したいのですが、一部のコンテンツを使用して制限します。
たとえば、テーブルの定義は次のとおりです。
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
。