我期待选择(或删除)全部被包含在以下SQL的ID ...ID和HAVING
SELECT ID
FROM AHsTransactions
GROUP BY TypeID, AH1ID, AH2ID
HAVING COUNT(*) > 1
的问题是如何获得来自这个分组内的行的ID?
一个简单的数据集将是: INSERT INTO AHsTransactions(TypeID, AH1ID, AH2ID) VALUES (1, 2, 3), (1, 2, 3), (1, 2, 4)
我已经得到了它的工作使用多个SQL语句,而不是这是可能在一个SQL语句?
1)SELECT TypeID, AH1ID, AH2ID FROM AHsTransactions GROUP BY TypeID, AH1ID, AH2ID HAVING COUNT(ID) > 1
然后,我经历了返回的行和删除(或选择ID)...
2)DELETE FROM AHsTransactions WHERE TypeID=$row[$i]['TypeID'] AND AH1ID=$row[$i]['AH1ID'] AND AH2ID=$row[$i]['AH2ID']
你使用MySQL或SQL Server?它们不是同一件事。 –
MSSQL,但移植到MySQL:/ – Mark