having子句的使用mysql_mysql之HAVING子句的用途(代码实例)

HAVING子句在SQL中扮演着重要角色,它用于集合级别的条件过滤,尤其在配合GROUP BY时。通过HAVING,我们可以对分组后的数据应用条件,这有助于深入理解SQL的面向集合思维。示例展示了HAVING如何筛选出借阅金额在500万到600万之间的日期记录。
摘要由CSDN通过智能技术生成

HAVING 子句可能是 SQL 诸多功能中最容易被轻视的一个。不知道它的真正价值是一个很大的损失。可以说,HAVING 子句是集中体现了 SQL 之面向集合理念的功能。多年以来,笔者一直认为掌握 SQL 的思维方式的最有效的捷径就是学习 HAVING 子句的用法。

这样说的原因是,与 WHERE 子句不同,HAVING 子句正是设置针对集合的条件的地方,因此为了灵活运用它,我们必须学会从集合的角度来理解数据。通过练习 HAVING 子句的用法,我们会在不经意间加深对面向集合这个本质的理解,真是一举两得。

在SELECT语句中使用HAVING子句来指定一组行或聚合的过滤条件。

HAVING子句通常与GROUP BY子句一起使用,以根据指定的条件过滤分组。如果省略GROUP BY子句,则HAVING子句的行为与WHERE子句类似。

请注意,HAVING子句将过滤条件应用于每组分行,而WHERE子句将过滤条件应用于每个单独的行。

未加having 子句之前:

SELECT substr(loan_time,1,10) as m1,sum(borrow_amount) as m2 from t_order_info WHERE model_id=13 and `status`=105

GROUP BY substr(loan_time,1,10)

m1 m2

2017-11-24 200000.000

2017-11-27 6200000.000

2017-11-28 8600000.000

2017-11-29 3600000.000

2017-11-30 4600000.000

2017-12-01 6000000.000

2017-12-04 3800000.000

2017-12-05 3400000.000

2017-12-06 5800000.000

2017-12-07 8000000.000

加入having 子句之后:

SELECT substr(loan_time,1,10) as m1,sum(borrow_amount) as m2 from t_order_info WHERE model_id=13 and `status`=105

GROUP BY substr(loan_time,1,10)

HAVING m2>5000000 and m2<6000000

m1 m2

2017-12-06 5800000.000

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值