我試圖做的是低於其給予語法錯誤,請幫助已存在COUNT(*)
DELETE FROM table
WHERE col1 = 2
AND EXISTS (
SELECT COUNT(*)
FROM table
WHERE col1 = 3
) > 2 ;
我需要做刪除只有當COUT大於2
我試圖做的是低於其給予語法錯誤,請幫助已存在COUNT(*)
DELETE FROM table
WHERE col1 = 2
AND EXISTS (
SELECT COUNT(*)
FROM table
WHERE col1 = 3
) > 2 ;
我需要做刪除只有當COUT大於2
where
有兩個邏輯條件:一個exists
和一個> 2
。刪除其中的一個,如:
DELETE table
WHERE col1 = 2
AND
(
SELECT COUNT(*)
FROM table
WHERE col1 = 3
) > 2
以下是無意義... EXISTS (...) > 2
。
你可能只是錯過了EXISTS
?
目前還不清楚你實際正在做什麼,對我們來說理解無效的語法並不比SQL服務器更容易。
HAVING子句可以讓你基於計數篩選結果:
SELECT COUNT(*)
FROM table
WHERE col1 = 3
HAVING COUNT(*) > 2
但它似乎正試圖從一個表,我會用做刪除重複的字裏行間:
DELETE FROM table
WHERE (id, col1) NOT IN
(SELECT
id,
MAX(col1)
FROM table
GROUP BY id
);