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

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

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-17 12:41:10536ブラウズ

How to Select Random Rows in SQL Databases?

SQL ランダム行選択メソッド

データベース クエリには通常、テーブルから特定のデータを取得することが含まれます。ランダムな行の選択は、サンプリングやデータのランダム化などのシナリオに役立ちます。この記事では、Microsoft SQL Server (MSSQL) でランダムな行を選択する方法を説明し、他の一般的な SQL データベースでの同様の方法を検討します。

MSSQL ソリューション

MSSQL のテーブルから行をランダムに選択するには、次のクエリを使用します。

<code class="language-sql">SELECT TOP 5 Id, Name
FROM customerNames
ORDER BY NEWID()</code>

NEWID() 関数は、結果の並べ替えに使用される一意のランダム値を生成します。これにより、行がランダムに選択されることが保証されます。 TOP 句は、返される行数を 5 に制限します。

他のデータベースの代替

次のコマンドは、他の SQL データベースでも同等の機能を提供します。

  • 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>
  • オラクル:
<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>

その他の注意事項

ランダムな行を選択する場合は、次の点に注意してください:

  • ランダム性はデータベースの実装によって異なります。
  • 同じクエリが複数回実行され、行の順序が矛盾する可能性があります。
  • フェッチする行数を制限すると (たとえば、TOP または LIMIT を使用)、クエリ時間を短縮できます。

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

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