【问题标题】:How to compare sum with the amount?如何比较金额和金额?
【发布时间】:2022-06-13 17:44:36
【问题描述】:

表格如下所示:

id, price, amount, transactionid
1, 5, 10, abc
2, 5, 10, abc
3, 20, 40, def
4, 20, 40, def
5, 15, 40, xyz
6, 20, 40, xyz

我想将金额的总和与金额进行比较,只选择不相等的。

同样在示例中:15 + 20 != 40

SELECT sum(price), transactionid FROM payment group by transactionid

现在我需要支票,其中包含一行中的一个金额,并且仅在不相等时才显示。

【问题讨论】:

标签: mysql group-by sum max having


【解决方案1】:

HAVING子句中设置条件:

SELECT transactionid,
       SUM(price) total_price,
       MAX(amount) amount
FROM payment 
GROUP BY transactionid
HAVING total_price <> amount;

请参阅demo

【讨论】: