我想刪除用戶標識組中的每一行,關鍵字xyz,除了價格最高的一個。MySQL刪除組中的一切與指定的關鍵字,但最大
我試過很多片段,它仍然不起作用。
我想:
DELETE FROM
`table` t1
WHERE
`keyword` = 'xyz' AND
`price` <> (
SELECT
MAX(`price`)
FROM (
SELECT
*
FROM
`table` t2
WHERE
`keyword` = 'xyz' AND
t2.user = user
) t3
)
但它也選擇了一個具有最高的性價比,它也只選擇應該將其刪除
這一個行的一小部分......
DELETE FROM
`table` AS zt
WHERE
`keyword` = 'xyz' AND
EXISTS (
SELECT
*
FROM
`table` ex
WHERE
ex.user = zt.user AND
ex.price > zt.price
);
給我以下錯誤:
未知的表字段zt.user
在where子句中。如果我添加INNER JOIN
它說未知的關鍵字。
謝謝你的時間!奇蹟般有效。 – Dawg