ITPub博客

首页 > 数据库 > MySQL > mysql基础知识

mysql基础知识

MySQL 作者:栀含萍1 时间:2020-10-13 14:14:16 0 删除 编辑

HAVING的作用

HAVING 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面。

WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 GROUP BY 子句所产生的组施加条件。

HAVING语法

在 SELECT 查询中,HAVING 子句必须紧随 GROUP BY 子句,并出现在 ORDER BY 子句(如果有的话)之前。带有 HAVING 子句的 SELECT 语句的语法如下所示:

SELECT column1,column2 FROM table1,table2 WHERE [conditions] GROUP BY column1,column2 HAVING [conditions] ORDER BY column1,column2

HAVING实例

我们希望将"城市"列中,相同记录的出现两次及以上的数据显示出来,可以这样写:

SELECT * FROM CustomersWHERE 城市 IN (SELECT 城市 FROM CustomersGROUP BY 城市HAVING COUNT(1)>1)

HAVING与WHERE的区别

HAVING和WHERE都是用来过滤数据的,他们可以使用相同的运算符来进行数据过滤,不同的是:

WHERE发生在HAVING之前,在执行HAVING之前,会先将不符合WHERE条件的数据过滤掉。 WHERE过滤的是行,而HAVING过滤的是分组聚集后的数据。 例如查询不在广州的顾客信息,可以这样写:

SELECT * FROM customersWHERE `城市`<>'广州'


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69984363/viewspace-2726552/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-10-13

  • 博文量
    1
  • 访问量
    419