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

MySql ngẫu nhiên hóa 10 hàng cuối cùng

Giả sử rằng time là thời điểm bản ghi được chèn, điều này sẽ giúp bạn có 10 hàng mới nhất từ ​​bảng:

SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
  ORDER BY `time` DESC LIMIT 10

Bây giờ, bạn có thể sử dụng kết quả như một bảng tạm thời, sắp xếp nó một cách ngẫu nhiên (vì nó chỉ có 10 hàng) và trả về một hàng:

SELECT * FROM (
  SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
    ORDER BY `time` DESC LIMIT 10
) AS temptable 
ORDER BY RAND()
LIMIT 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trong các truy vấn MySQL, tại sao lại sử dụng join thay vì ở đâu?

  2. Khởi tạo MariaDB 10.4.12 trên CentOS 7.7

  3. MySQL lưu trữ các cạnh đồ thị vô hướng một cách hiệu quả

  4. Các hàng được chọn ngẫu nhiên qua JPA

  5. Làm thế nào để loại bỏ tất cả các bảng trong cơ sở dữ liệu mà không làm mất chính cơ sở dữ liệu?