0
有没有办法让这个SQL语句正常工作?以下是代码:SQL DELETE在哪里GROUP BY ... HAVING
DELETE AHsTransactions
WHERE SerialNumber <> 0
GROUP BY TypeID, AH1ID, AH2ID
HAVING COUNT(*) > 1
关键字'GROUP'附近的语法不正确,所以在一个SQL语句中似乎不可能。
有没有办法让这个SQL语句正常工作?以下是代码:SQL DELETE在哪里GROUP BY ... HAVING
DELETE AHsTransactions
WHERE SerialNumber <> 0
GROUP BY TypeID, AH1ID, AH2ID
HAVING COUNT(*) > 1
关键字'GROUP'附近的语法不正确,所以在一个SQL语句中似乎不可能。
不,不可能改变该SQL语句直接工作。
可能是不工作的最接近的是低于
WITH T
AS (SELECT COUNT(*) OVER (PARTITION BY TypeID, AH1ID, AH2ID) AS c
FROM AHsTransactions
WHERE SerialNumber <> 0)
DELETE FROM T
WHERE c > 1
非常酷:)太糟糕了,没有什么在MySQL,但好知道(与SQL Server 2005+兼容),而我们仍然使用SQL Server! – Mark