【MySQL】【数据库】如何不用子查询对GroupBy后结果做过滤

【背景】

习惯于用子查询或嵌套查询对GroupBy后的结果集进行过滤。但有时会遇到不允许你嵌套的情况,比如某些视图。就需要在不嵌套查询的情况下对GroupBy结果进行过滤。

【分析】

语法上,GroupBy后无法再用Where过滤,所以需要找适用于GroupBy过滤的专门语法。

【方法】

用Having
例子:

SELECT group_field, COUNT(*) AS count_records
FROM table_name
GROUP BY group_field
HAVING COUNT(*) > 0; -- 这里排除了 "other_field" 为空的记录

你可能感兴趣的:(数据库,mysql,数据库)