Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chọn n hàng ngẫu nhiên từ bảng SQL Server

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

Để trả lời nhận xét "hoàn toàn là thùng rác" liên quan đến các bảng lớn:bạn có thể làm như vậy để cải thiện hiệu suất.

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

Chi phí của việc này sẽ là quá trình quét các giá trị chính cộng với chi phí kết hợp, chi phí này trên một bảng lớn với tỷ lệ phần trăm nhỏ sẽ hợp lý.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server và các lỗ hổng Spectre / Meltdown

  2. Kiểm tra xem một đối tượng có phải là khóa chính với OBJECTPROPERTY () trong SQL Server hay không

  3. Mã khung thực thể chậm khi sử dụng Bao gồm () nhiều lần

  4. Hàm chuỗi SQL Server (Danh sách đầy đủ)

  5. Yêu cầu không thành công hoặc dịch vụ không phản hồi kịp thời?