繁体   English   中英

使用内部联接时求和的条件?

[英]Condition on Sum when using inner join?

我有两个表:

a
idA User Size 
b
idB status name

User是从ab的外键。

该查询运行良好:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM