SQL group by:使用where子句逻辑根据聚合函数过滤结果

Zom*_*ies 3 mysql sql where-clause

我有一个基本组/ avg声明:

select url, avg(contentping+tcpping), count(*) from websites ws, ping pi 
where ws.idwebsite = pi.idwebsite and errortype is null
group by url order by avg(contentping+tcpping) asc;
Run Code Online (Sandbox Code Playgroud)

我现在要做的是删除任何高于平均ping 500的结果.我该怎么做......?

Eri*_*lje 13

只需添加一个having条款:

select url, avg(contentping+tcpping), count(*) from websites ws, ping pi 
where ws.idwebsite = pi.idwebsite and errortype is null
group by url 
having avg(contenetping+tcpping) < 500
order by avg(contentping+tcpping) asc;
Run Code Online (Sandbox Code Playgroud)