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

Làm cách nào để xóa khỏi vùng chọn trong MySQL?

SELECT (phụ) truy vấn trả về kết quả bộ . Vì vậy, bạn cần sử dụng IN , không phải = trong WHERE của bạn mệnh đề.

Ngoài ra, như được hiển thị trong câu trả lời này bạn không thể sửa đổi cùng một bảng từ một truy vấn con trong cùng một truy vấn. Tuy nhiên, bạn có thể SELECT sau đó DELETE trong các truy vấn riêng biệt hoặc lồng một truy vấn con khác và đặt bí danh là kết quả truy vấn con bên trong (tuy nhiên, trông khá khó hiểu):

DELETE FROM posts WHERE id IN (
    SELECT * FROM (
        SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
    ) AS p
)

Hoặc sử dụng tham gia do Mchl đề xuất .



  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 SQL, hai bảng tham chiếu đến nhau có được không?

  2. Sự khác biệt giữa phép nối được phân tách bằng dấu phẩy và phép nối theo cú pháp trong MySQL là gì?

  3. Làm cách nào để đếm tất cả các hàng khi sử dụng SELECT với LIMIT trong truy vấn MySQL?

  4. MySQL với Node.js

  5. Chuyển đổi DateTime cho MySQL bằng C #