Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pilih n baris acak dari tabel SQL Server

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

Menanggapi komentar "sampah murni" tentang tabel besar:Anda dapat melakukannya seperti ini untuk meningkatkan kinerja.

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

Biaya ini akan menjadi pemindaian kunci nilai ditambah biaya bergabung, yang pada tabel besar dengan pilihan persentase kecil seharusnya masuk akal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolom tidak valid dalam daftar pilih karena tidak terdapat dalam fungsi agregat atau klausa GROUP BY

  2. SQL Server:Basis data macet dalam status Memulihkan

  3. Pernyataan SQL UPDATE untuk mengganti dua nilai dalam dua baris

  4. Apa yang dimaksud dengan ORDER BY (SELECT NULL)?

  5. Temukan, Prioritaskan, dan Selesaikan Masalah SQL Server Dalam Beberapa Menit