having 与where的区别

时间:2022-01-10 07:44:41

  在MySQL中having与where都表示查询条件,但是,两者之间存在着一定的差别。

  having对满足条件的组进行筛选,即分组后的过滤。一般和group by一起使用,其后面通常跟的是聚合函数max()、count()、min()、avg()等。

  where是选择满足条件的行,在分组前对数据进行过滤。

换言之,HAVING子句将过滤条件应用于每组行,而WHERE子句将过滤条件应用于每个单独的行。