数据库 HAVING COUNT () 的用法

简介:

HAVING COUNT() 是 SQL 中用于筛选分组结果的关键字,它通常与 GROUP BY 一起使用。HAVING COUNT() 的作用是对分组后的结果进行过滤,只保留满足条件的分组结果。

在没有分组的情况下having和Where 类似。有分组的时候 Where对分组前内容过滤,having是分组后的内容进行筛选。having 里面可以写聚合函数。

       

 说明:

       主表 CUSTOM_CABINETS   订单表

       副表 CUSTOM_CABINETS_BRAND  品牌表

一、关联查询全部数据

注意: 查询两表相同的数据用inner join,我这里就用left join 为了复现问题。 

二、关联查询  加Group by 分组

      对品牌名称 主表.BRAND_NAME  和  品牌编码 副表.BRAND_CODE   进行分组后 ,查询后有一行空数据,说明我主表数据 存在没有品牌编码(编码 对应 品牌名称)的行,所以现在看到 分组后的数据有NULL。

主表统计一下count(a.BRAND_CODE) ,为了更清晰些。

 

 

 三、关联查询  加 HAVING COUNT 函数

注意重点:   group by 分组后  在用having count(*) > 0 进行筛选查询

通过  HAVING COUNT(a.BRAND_CODE) > 0   筛选 表中想要的数据 排除NULL 。

总结:  

  • ①使用 INNER JOIN 将两个表连接起来,连接条件为需要进行计数的列。
SELECT column1, column2, ..., COUNT(column_name)  
FROM table1  
INNER JOIN table2 ON table1.column_name = table2.column_name  
GROUP BY column1, column2, ...  
HAVING COUNT(column_name) > 0;
  • ②在 GROUP BY 子句中指定需要进行计数的列,并使用 COUNT() 函数对这些列进行计数。
SELECT column1, column2, ..., COUNT(column_name)  
FROM table1  
GROUP BY column1, column2, ...  
HAVING COUNT(column_name) > 0;
  • ③在 HAVING COUNT() 子句中指定计数条件,只保留计数结果大于等于 0 的分组结果。
SELECT column1, column2, ..., COUNT(column_name)  
FROM table1  
GROUP BY column1, column2, ...  
HAVING COUNT(column_name) > 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你才是臭弟弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值