ホームページ >データベース >mysql チュートリアル >SQLite テーブルからランダムな行を取得するにはどうすればよいですか?

SQLite テーブルからランダムな行を取得するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 13:42:39552ブラウズ

How Can I Retrieve a Random Row from an SQLite Table?

SQLite で ORDER BY RANDOM() を使用して結果をランダム化する

データベース管理では、ランダムな順序でデータを取得すると便利なことがよくあります。 。 MySQL にはこの目的のために RAND() 関数が用意されていますが、SQLite 3 には直接同等の関数がありません。ただし、同じ結果を得る別のアプローチもあります。

SQLite 3 の RAND() の代替

SQLite 3 で結果の順序をランダム化するには、次のようにします。 RANDOM() 関数を ORDER BY 句と組み合わせて使用​​できます。構文は次のとおりです。

SELECT * FROM table ORDER BY RANDOM() LIMIT 1;

説明

  • RANDOM() 関数は、テーブル内の各行に乱数を生成します。
  • ORDER BY 句は、生成されたランダムに従って結果を並べ替えます。
  • LIMIT 1 句は、結果を 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。