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

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

私は MSSQL Server 2005 を使用しています。私のデータベースには、2 つの列「Id」と「Name」があり、約 1,000 件の結果があるテーブル「customerNames」があります。

毎回 5 人の顧客をランダムに選択する必要がある機能を作成しています。クエリが実行されるたびにランダムに 5 行 (ID と名前) を取得するクエリの作成方法を教えてください。

ベストアンサー1

SELECT TOP 5 Id, Name FROM customerNames
ORDER BY NEWID()

そうは言っても、皆さんはあなたの質問に対するより一般的な答えを求めてこのページに来ているようです。

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

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

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

SELECT column FROM table 
ORDER BY RANDOM() LIMIT 1

おすすめ記事