oracle 聚合行数 别名条件使用

正确的语句:
SELECT b.autoid, count(a.matchid) ,
b.vtype,
b.idname, b.idvalue
FROM log_match a, policy_info b
WHERE b.autoid = a.matchid(+)
GROUP BY b.autoid, b.vtype, b.idname, b.idvalue

需求 :
想把 count(a.matchid) 当作 条件 查询 例如: count(a.matchid) as shu 在where 后面加上 shu like '%2%'
出现错误 我知道 别名是不可以当 条件使用的 但用子查询 FROM(select count(a.matchid) shu from log_match a WHERE b.autoid = a.matchid(+) GROUP BY b.autoid, b.vtype, b.idname, b.idvalue),log_match a, policy_info b
WHERE b.autoid = a.matchid(+) and shu like '%2%'
GROUP BY b.autoid, b.vtype, b.idname, b.idvalue 也没效果 跟没加子查询一样 不知道怎么样怎样修改才能达到效果?

使用having就可以搞定了哈:
SELECT b.autoid, count(a.matchid) ,
b.vtype,
b.idname, b.idvalue
FROM log_match a, policy_info b
WHERE b.autoid = a.matchid(+)
GROUP BY b.autoid, b.vtype, b.idname, b.idvalue
[color=blue]having count(a.matchid) like '%2%' [/color].
但是很奇怪,你的條件怎么是like?