ちょっと古い記事だけど、「Selecting Rows Randomly from a Large Table」をざっくり意訳しました。 多くの行数がある巨大なテーブルから、ランダムにサンプリングしてデータを取得したいことがあります。 ランダムにサンプリングするために、テーブルからTOP Nで選択することがあります。しかし、このサンプルではランダムではなく、必ずしも再現性はないですがテーブルの最初のN行を取得します。 小さなテーブルからランダムに行数を取得する場合には、一般的には次のようなクエリを使用します。 SELECT TOP 10 PERCENT * FROM test ORDER BY NEWID()ポイントは、「NEWID()」関数を使用していることです。 NEWID関数は、グローバルに一意な識別子GUIDをメモリ上の各行に生成します。 GUIDでORDER BYによるソートをす