純粋な 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