我只想查询当添加金额列时结果为 0 且具有相同的 ColumnA 和 ColumnB 的数据。但问题是当我在 Group By 中添加 ColumnB 时,我得到了错误的结果。也返回其和不为0的数据。
基本上:
Input:
ColumnA, ColumnB, Amount
123, 555, 10
234, 555, -25
234, 555, 10
234, 555, 15
123, 555, 20
基本上我想要的结果是:
ColumnA, ColumnB, Amount
234, 555, -25
234, 555, 10
234, 555, 15
这是我找到的代码:
SELECT * FROM table
WHERE ColumnA In
(
SELECT ColumnA FROM table
GROUP BY ColumnA, ColumnB
HAVING SUM(Amount)
)
请帮忙解决这个问题?
最佳答案
SELECT *
FROM t_column t1 -- your table name
WHERE EXISTS (SELECT 1
FROM t_column t2 -- your table name
WHERE t1.columnA = t2.columnA
AND t1.columnB = t2.columnB
HAVING SUM(amount) = 0
)
结果
columnA columnB amount
234 555 -25
234 555 10
234 555 15
关于mysql - SQL - 多个重复行的总和等于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965315/