sql >> Databasteknik >  >> RDS >> Sqlserver

Välj effektivt slumpmässiga rader från stora resultatuppsättningar med LINQ (ala TABLESAMPLE)

Inte ett direkt svar på din fråga men du kan använda den här tekniken för att välja ett slumpmässigt procentuellt urval av enskilda rader. Följande fråga använder NEWID-funktionen för att returnera ungefär en procent av raderna i tabellen Sales.SalesOrderDetail:

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

Eventuellt av intresse:T-SQL :Generera slumptal, slumpmässigt urval och slumpmässig "godhet"



  1. Tillfälligt SQL-datafält

  2. SQL får ROW_NUMBER och COUNT för varje SELECT-förfrågan

  3. Hur man skapar en procedur i ett paket i Oracle

  4. Bufferten är för liten för konvertering från CLOB till CHAR eller BLOB till RAW