1. ホーム
  2. sql

[解決済み】SQLでランダムに行を選択する方法は?

2022-04-02 21:45:27

質問

MSSQL Server 2005を使用しています。私のデータベースには、2つの列 "Id"と "Name"と約1000の結果を持つテーブル"customerNames"があります。

毎回ランダムに5人の顧客を選ばなければならない機能を作っています。クエリを実行すると、毎回ランダムな5行(IdとName)を取得するクエリを作成する方法を教えてください。

どのように解決するのですか?

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