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

Các mẫu ngẫu nhiên đơn giản từ cơ sở dữ liệu Sql

Tôi nghĩ giải pháp nhanh nhất là

select * from table where rand() <= .3

Đây là lý do tại sao tôi nghĩ điều này nên làm công việc.

  • Nó sẽ tạo một số ngẫu nhiên cho mỗi hàng. Con số nằm trong khoảng từ 0 đến 1
  • Nó đánh giá xem có hiển thị hàng đó hay không nếu số được tạo nằm trong khoảng từ 0 đến .3 (30%).

Điều này giả định rằng rand () đang tạo ra các số trong một phân phối đồng đều. Đây là cách nhanh nhất để thực hiện việc này.

Tôi thấy rằng ai đó đã đề xuất giải pháp đó và họ bị bắn hạ mà không có bằng chứng .. đây là những gì tôi sẽ nói với điều đó -

  • Đây là O (n) nhưng không cần sắp xếp nên nhanh hơn O (n lg n)
  • mysql rất có khả năng tạo ra các số ngẫu nhiên cho mỗi hàng. Hãy thử điều này -

    chọn rand () từ giới hạn 10 của INFORMATION_SCHEMA.TABLES;

Vì cơ sở dữ liệu được đề cập là mySQL, đây là giải pháp phù hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách ClusterControl định cấu hình IP ảo và Điều gì sẽ xảy ra trong quá trình chuyển đổi dự phòng

  2. Cách tạo bảng trong SQL - Truy vấn mẫu Postgres và MySQL

  3. Cách định cấu hình sao chép bản sao mã nguồn trong MySQL

  4. Trong MySQL, tôi có thể sao chép một hàng để chèn vào cùng một bảng không?

  5. MySQL tự động truyền / chuyển đổi một chuỗi thành một số?