[英]Condition on Sum when using inner join?
我有两个表:
a
idA User Size
b
idB status name
User
是从a
到b
的外键。
该查询运行良好:
SELECT a.User,a.size,b.status,b.name, SUM(a.size) as TotalSize
FROM a
LEFT OUTER JOIN b
ON a.User=b.idB
WHERE a.size> 10
GROUP BY User
ORDER BY TotalSize DESC
但是当我尝试对总和输入条件时,它失败了:
SELECT a.User,a.size,b.status,b.name, SUM(a.size) as TotalSize
FROM a
LEFT OUTER JOIN b
ON a.User=b.idB
WHERE TotalSize > 10 # or WHERE SUM(a.size) > 10
GROUP BY User
ORDER BY TotalSize DESC
我该怎么办?
使用having
子句(在group by
后面):
HAVING TotalSize > 10 # or HAVING SUM(a.size) > 10
这是从聚合函数中过滤结果的正确方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.