SQLでランダムな行を要求するにはどうすればいいですか? 質問する

SQLでランダムな行を要求するにはどうすればいいですか? 質問する

純粋な SQL でランダムな行 (または可能な限りランダムに近い行) を要求するにはどうすればよいですか?

ベストアンサー1

この投稿を参照してください:データベーステーブルからランダムに行を選択するSQLMySQL、PostgreSQL、Microsoft SQL Server、IBM DB2、および Oracle でこれを行う方法について説明します (以下はそのリンクからコピーしたものです)。

MySQL でランダムな行を選択します。

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL でランダムな行を選択します。

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Server でランダムな行を選択します。

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2でランダムな行を選択する

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Oracle でランダムなレコードを選択します。

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

おすすめ記事