我有 3 个表:
- 客户(姓名,ID),
- 项目(名称,价格,id),
- 购买(id、items_id、customers_id)
当我运行时:
select
customers.name,
SUM(items.price) as "price"
from items
INNER JOIN purchases
ON items.id = purchases.item_id
INNER JOIN customers
ON purchases.customer_id = customers.id
GROUP BY customers.name
ORDER BY "price"
这是我得到的结果:
"Anne Watson" "5.00"
"Craig Scott" "11.30"
"Michael Adam" "101.29"
"Jose Salvatierra" "899.00"
"Rolf Smith" "1174.50"
但是, 我只想显示那些价格超过 100 的行(在本例中是底部的 3 个)。我该怎么做?
最佳答案
这是您使用 HAVING
子句的地方。它类似于 WHERE
子句,但在 GROUP BY
之后应用。
HAVING SUM(items.price) > 100
关于sql - 仅显示那些 SUM(price) 大于特定数字的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49342565/