ホームページ > データベース > mysql チュートリアル > SQL を使用してデータベース テーブルから行をランダムに選択するにはどうすればよいですか?

SQL を使用してデータベース テーブルから行をランダムに選択するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-17 13:02:13
オリジナル
772 人が閲覧しました

How Can I Randomly Select Rows from a Database Table Using SQL?

SQL ランダム行選択テクニック

概要:

データベース行をランダムに選択することは、データのサンプリングからテストに至るまで、多くのアプリケーションで頻繁に行われるタスクです。 このガイドでは、さまざまなデータベース システムにわたる効果的な方法について概説します。

Microsoft SQL Server 2005 以降:

「customerNames」という名前のテーブルからランダムに 5 行を選択するには、次の SQL Server クエリを使用します。

<code class="language-sql">SELECT TOP 5 Id, Name FROM customerNames
ORDER BY NEWID()</code>
ログイン後にコピー

NEWID() は一意の識別子 (GUID) を生成し、行の順序を効果的にランダム化します。 TOP 5 は結果セットを制限します。

データベース間のランダム行選択:

特定の機能は異なりますが、基本的なアプローチは異なるデータベース システム間で一貫しています。

  • MySQL: SELECT column FROM table ORDER BY RAND() LIMIT 1
  • PostgreSQL: SELECT column FROM table ORDER BY RANDOM() LIMIT 1
  • IBM DB2: SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY
  • オラクル: SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1
  • SQLite: SELECT column FROM table ORDER BY RANDOM() LIMIT 1

重要な注意事項:

  • 構文と関数はデータベース システムによって若干異なる場合があります。
  • 特定の行順序を必要とするアプリケーションの場合は、一意の識別子列を含めて、それに基づいてランダム化します。
  • 不均一なランダム選択 (加重サンプリング) の場合は、より高度な技術が必要です。

以上がSQL を使用してデータベース テーブルから行をランダムに選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート