sql >> データベース >  >> RDS >> Sqlserver

SQLServerテーブルからn個のランダムな行を選択します

    select top 10 percent * from [yourtable] order by newid()
    

    大きなテーブルに関する「純粋なゴミ」のコメントに応えて、パフォーマンスを向上させるためにこのようにすることができます。

    select  * from [yourtable] where [yourPk] in 
    (select top 10 percent [yourPk] from [yourtable] order by newid())
    

    このコストは、値のキースキャンと結合コストの合計になります。これは、選択率が小さい大きなテーブルでは妥当なはずです。



    1. ORA-28001:パスワードの有効期限が切れています

    2. PostgreSQLでのデータベースの一覧表示と切り替え

    3. SQLite3.Exception:データベースディスクイメージの形式が正しくありません

    4. 使用量にカウントを設定