2

我在下面有一个简单的 sql 查询,它为我产生了一个可用的结果。但是,理想情况下,我希望进一步将此查询的结果限制为仅包括别名列总数小于 10 的结果。我尝试在 where 子句中直接引用别名列,并在一个中复制 COUNT() 部分where 子句,但这不起作用。这是查询,在此先感谢您的帮助。

SELECT COUNT(DISTINCT iDomainID) AS totInFile, iFileGroup
FROM Domains.`ApacheVirtualHosts`
GROUP BY iFileGroup
4

2 回答 2

4

您可以使用HAVING子句进一步过滤:

SELECT COUNT(DISTINCT iDomainID) AS totInFile, iFileGroup
FROM Domains.`ApacheVirtualHosts`
GROUP BY iFileGroup
HAVING COUNT(DISTINCT iDomainID) < 10;

HAVING 子句将允许您使用聚合函数过滤数据。

于 2013-08-28T21:58:20.127 回答
2

你需要一个HAVING子句:

SELECT COUNT(DISTINCT iDomainID) AS totInFile, iFileGroup
FROM Domains.`ApacheVirtualHosts`
GROUP BY iFileGroup
HAVING COUNT(DISTINCT iDomainID) < 10
于 2013-08-28T21:59:57.240 回答