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 .