WEBシステム開発/Mysqlのデータをランダムに取得する(ORDER BY rand)
データベースを使って幅広いサービスを構築している時に、ごく稀に
取得するデータをランダムに取得できればいいのに?
今まで、指定範囲のデータを全て取得してからプログラム上で
ランダムに加工していた作業をデータベース側でできればSQLの発行だけですんじゃいます。
SELECT、INSERT、UPDATE、DELETEの基本SQLはたくさん紹介されていますが
事、ランダム表示、LIMITなどの情報は意外に見つかりません。
しかもここら辺のSQLは、データベースソフトによって使い方が若干異なっています。
では、肝心のMySQLでは
ORDER BY rand()
を、既存のSQLに追加するだけでOKです。
また、使う個所もSELECTだけでなく、UPDATE、DELETEなどにも使えます。
例えば、何件ランダムに更新、何件ランダムに削除など使い方は幅広いですね。
使い方を工夫すれば、ランダム予測型の情報ポータルにいかせると思います。