SQL中Having与Where的区别

含义

  • where
    在分组之前就进行选择操作

  • having
    having在分组操作之后才进行选择操作,所以having可以选择聚合函数

eg:

// 下面这句是可以的
SELECT COUNT(*) FROM A
WHERE A.a1>0
GROUP BY a2;
//但是下面就不行
SELECT COUNT(*) FROM A
WHERE A.a1>0 and count(*)>1
GROUP BY a2;
//必须要改为having
SELECT COUNT(*) FROM A
WHERE A.a1>0
GROUP BY a2
HAVING COUNT(*)>1

Cesar学习笔记
该专栏用来记录学习的重要内容,以及分享一些练手的项目,有空了也把以前的笔记整理一下发上来。

Talk is cheap

277 声望
10 粉丝
0 条评论
推荐阅读
从Java中的取反号‘~’看原码,反码,补码
缘起 一次在写测试程序的时候,随手对2取了一个反,当时代码大意如下: {代码...} 按照我当时的想法,觉得过程应该是这样的: a = 2,也就是说a的二进制位10,取反就变成了01,所以结果应该为1。 但是实际的结果值是...

Cesar3阅读 8.2k

再有谁说还不会数据库基础知识点!就把这个直接甩过去
死磕数据库系列(一):关系型数据库是如何工作的? 死磕数据库系列(二):数据库系统核心知识点详解 死磕数据库系列(三):关系型数据库设计理论与流程详解SQL语法基础基础模式定义了数据如何存储、存储什么样...

民工哥2阅读 781

封面图
1024 开源首发 | SQL 审核工具 SQLE
在 2017 、2018 年和 2019 年的 10 月 24 日,爱可生开源社区出品了 MySQL 分布式中间件 DBLE 、数据复制产品 DTLE 和全局事务框架 TXLE 。时隔两年,这三款产品在社区积累了更多的设计经验和用户反馈,有更多的...

爱可生云数据库阅读 3.1k

HTAP 数据库如何实现?浅析开务数据库中的列存引擎
TP 与 AP 融合的 HTAP 数据库正成为业内的发展趋势。但由于大规模数据场景下 TP 与 AP 系统本身的复杂性,要在一套数据库系统中融合两种使用场景的功能并不容易。浪潮推出的 HTAP 开务数据库采用多模存储引擎的方...

KaiwuDB阅读 2.6k

封面图
分布式数据库--SQL优化之Plan Hint
Hint是嵌入SQL语句的对优化器进行提示的信息,是DBA进行SQL优化的常用手段。SQL语句经过优化器(规则优化(RBO)、代价优化(CBO)),通常会选择正确的查询路径,但是智者千虑,必有一失,有时优化器也会选择一个很差...

KaiwuDB1阅读 665

封面图
深入解析 Raft 模块在开务数据库中的优化改造(下)
开务数据库是由浪潮开源的一款 NewSQL 分布式数据库,具备 HTAP 特性,拥有强一致、高可用的分布式架构。其中,开务数据库各方面的强一致性都依靠 Raft 算法实现。我们在上一篇文章中介绍了 Raft 一致性算法在分...

KaiwuDB1阅读 1k

封面图
Clickhouse查询性能优化
虽然clickhouse在大数据量查询速度会比关系型数据库如mysql或者postrges快很多,但还是有很多地方需要去了解和配置,达到提供最低资源获取最大产出

龚正阳阅读 1.9k

Talk is cheap

277 声望
10 粉丝
宣传栏