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

Xóa tất cả các hàng ngoại trừ N đầu tiên khỏi bảng có một cột

Nếu bạn có thể đặt hàng hồ sơ của mình bằng friends_name và nếu không có bản sao, bạn có thể sử dụng cái này:

DELETE FROM names
WHERE
  friends_name NOT IN (
    SELECT * FROM (
      SELECT friends_name
      FROM names
      ORDER BY friends_name
      LIMIT 10) s
  )

Vui lòng xem fiddle tại đây .

Hoặc bạn có thể sử dụng cái này:

DELETE FROM names ORDER BY friends_name DESC
LIMIT total_records-10

trong đó total_records là (SELECT COUNT(*) FROM names) , nhưng bạn phải thực hiện việc này bằng mã, bạn không thể đặt số lượng trong mệnh đề LIMIT của truy vấn của mình.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php pdo chỉ nhận một giá trị từ mysql; giá trị bằng với biến

  2. Chuyển một danh sách vào thủ tục lưu trữ MySQL và kiểm tra TẤT CẢ các giá trị hiện có

  3. trả về số hàng ban đầu của mySQL

  4. Tương đương với hàm SQLServer SCOPE_IDENTITY () trong mySQL?

  5. Làm cách nào để yêu cầu trợ giúp tối ưu hóa &sửa các truy vấn trong MySQL?