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

Xóa tất cả các hàng và giữ lại x mới nhất ở bên trái

DELETE hỗ trợ ORDER BYLIMIT mệnh đề, vì vậy nó là có thể. Tuy nhiên, do DELETE các giới hạn tham chiếu và tham số của LIMIT bạn cần hai truy vấn.

SELECT COUNT(*) AS total FROM table  WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;

Xin lưu ý rằng điều này có thể sẽ yêu cầu một công nghệ trung gian. Tôi đã hiển thị các truy vấn để tham khảo.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để cắt bỏ Trích dẫn hàng đầu và Dẫn đầu từ Hàng MySQL?

  2. java.sql.SQLException:Không tìm thấy trình điều khiển phù hợp cho jdbc:mysql:// localhost:3306 / dbname

  3. Sự khác biệt về tháng giữa các ngày trong MySQL

  4. Cách lưu trữ ảnh trong cơ sở dữ liệu MySQL

  5. Phiên bản so với số lượng phân phối của MySQL