having

一、用法

和group by 一起使用,分组后再进行条件过滤就用到having了。

GROUP BY 分组字段名 HAVING 分组后过滤条件

二、和WHERE的区别

1where是分组之前进行过滤,不满足where条件的数据不参与分组,而having是分组之后对分组结果进行过滤。

2.where不能对聚合函数进行判断,having可以。

三、示例

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `gender` char(1) DEFAULT NULL,
  `job` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `user` VALUES ('1', '张三', '25', '', '会计');
INSERT INTO `user` VALUES ('2', '李四', '22', '', '人事');
INSERT INTO `user` VALUES ('3', '王五', '21', '', '业务员');
INSERT INTO `user` VALUES ('4', '赵六', '23', '', '业务员');
#查询大于1人的职业
SELECT job,COUNT(1) FROM `user` GROUP BY job HAVING COUNT(1)>1
posted @   lucsa  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-03-10 21.配置Mybatis的分页
2023-03-10 20.注解小记
点击右上角即可分享
微信分享提示