1. ホーム
  2. データベース
  3. アクセス

データベースから10個のランダムなデータを取得する4つの方法

2022-01-22 16:50:54

データベースから10のランダムなデータを取得する4つの方法

SQL Serverです。

コピーコード コードは以下の通りです。

SELECT TOP 10 * FROM T_USER ORDER BY NEWID()

オラクル
コピーコード コードは以下の通りです。

SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10

MySQLを使用しています。
コピーコード コードは以下の通りです。

SELECT * FROM T_USER ORDER BY RAND() LIMIT 10

アクセス
コピーコード コードは以下の通りです。

SELECT TOP 10 * FROM T_USER ORDER BY rnd([an autonumber field])

このステートメントはAccessの"query"で動作し、ランダムな結果を得ますが、ASP.NETのようなバックエンドのコードでは期待したランダム効果を得るために動作しません。
正しい書き方は以下の通りです。

ASP.NETを例にして。

コピーコード コードは以下の通りです。

Random random = new Random(System.Guid.NewGuid().GetHashCode());
int r = random.Next();
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "* autonumber field)"