ホームページ >データベース >mysql チュートリアル >SQL Server やその他のデータベースで行をランダムに選択するにはどうすればよいですか?

SQL Server やその他のデータベースで行をランダムに選択するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-17 12:56:40480ブラウズ

How Can I Randomly Select Rows in SQL Server and Other Databases?

データベース行のランダム選択: 実践ガイド

データベース テーブルからランダムな行を効率的に選択することは、データ サンプリング、シミュレーション、匿名化などのさまざまなアプリケーションにとって重要です。このガイドでは、Microsoft SQL Server に焦点を当て、一般的なデータベース システムでこれを実現する効果的な方法を説明します。

SQL Server でランダムな 5 行を取得する

「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 サイトの他の関連記事を参照してください。

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