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

LINQ (ala TABLESAMPLE) を使用して大規模な結果セットからランダムな行を効率的に選択する

    質問に対する直接的な回答ではありませんが、この手法を使用して、個々の行のランダムなパーセンテージ サンプルを選択できます。次のクエリは、NEWID 関数を使用して、Sales.SalesOrderDetail テーブルの行の約 1% を返します:

    SELECT * FROM Sales.SalesOrderDetail   
    WHERE 0.01 >= CAST(CHECKSUM(NEWID(), SalesOrderID) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)
    

    おそらく興味深い:T-SQL :乱数の生成、ランダム サンプリング、およびランダムな「良さ」



    1. GetOracleDecimalメモリリーク

    2. BLOBをCLOBに変換する

    3. x要素のグループをバッチで返す場合はMySQLSelectQuery

    4. ORA-01804 OracledbDriverのロード中にエラーが発生しました