ホームページ >データベース >mysql チュートリアル >SQL Server やその他のデータベースで行をランダムに選択するにはどうすればよいですか?
データベース テーブルからランダムな行を効率的に選択することは、データ サンプリング、シミュレーション、匿名化などのさまざまなアプリケーションにとって重要です。このガイドでは、Microsoft SQL Server に焦点を当て、一般的なデータベース システムでこれを実現する効果的な方法を説明します。
「customerNames」という名前のテーブルからランダムに 5 行を選択するには、次の SQL Server クエリを使用します。
<code class="language-sql">SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()</code>
NEWID()
関数は行ごとに一意のランダムな識別子を生成し、結果を並べ替える際にランダムな選択が保証されます。
上記の方法は SQL Server ではうまく機能しますが、データベース システムによっては、ランダムな行選択のための独自の機能が提供されます。比較は次のとおりです:
MySQL:
<code class="language-sql">SELECT column FROM table ORDER BY RAND() LIMIT 1</code>
PostgreSQL:
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
IBM DB2:
<code class="language-sql">SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY</code>
オラクル:
<code class="language-sql">SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1</code>
SQLite:
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
これらの例は、各データベース システムが独自の組み込み関数を利用して行選択のランダムな順序を生成する方法を示しています。 特定の実装はデータベースのバージョンに応じて若干異なる場合があることに注意してください。
これらの手法は、データベースからランダムな行を選択する柔軟かつ効率的な方法を提供し、ランダム化されたデータ選択を必要とするアプリケーションを構築できるようにします。 正しい方法の選択は、特定のデータベース システムによって異なります。
以上がSQL Server やその他のデータベースで行をランダムに選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。