ホームページ >データベース >mysql チュートリアル >SQLite テーブルからランダムな行を取得するにはどうすればよいですか?
SQLite で ORDER BY RANDOM() を使用して結果をランダム化する
データベース管理では、ランダムな順序でデータを取得すると便利なことがよくあります。 。 MySQL にはこの目的のために RAND() 関数が用意されていますが、SQLite 3 には直接同等の関数がありません。ただし、同じ結果を得る別のアプローチもあります。
SQLite 3 の RAND() の代替
SQLite 3 で結果の順序をランダム化するには、次のようにします。 RANDOM() 関数を ORDER BY 句と組み合わせて使用できます。構文は次のとおりです。
SELECT * FROM table ORDER BY RANDOM() LIMIT 1;
説明
これらの要素を組み合わせることで、SQLite 3 は指定されたテーブルからの結果の順序を効果的にランダム化します。
例
次の SQLite 3 を考えてみましょう。 table:
CREATE TABLE people (id INTEGER PRIMARY KEY, name TEXT); INSERT INTO people (name) VALUES ('John'), ('Mary'), ('Bob');
このテーブルからランダムな行を取得するには、次のクエリを使用できます:
SELECT * FROM people ORDER BY RANDOM() LIMIT 1;
このクエリを実行するたびに、次のクエリから異なる人物が返されます。テーブルはランダムな順序で表示されます。
以上がSQLite テーブルからランダムな行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。