2016年1月21日木曜日

SQLサーバーからランダムに行を取り出す方法

SQLサーバーからランダムに行を取り出したいとき、以下のSQLが最もコストが低いようです。例えば、<取り出す割合>を10と指定すると、10%の行をランダムに取り出します。
SELECT * FROM <表名>
WHERE (ABS(CAST((BINARY_CHECKSUM (<キー列>, NEWID())) as int)) % 100) < <取り出す割合>

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。