leetcode刷sql(1511)-having里的条件判断

今天遇到一道题目,打开了having使用的新世界
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本来设想中是比较复杂的临时表。看题解学到了having的筛选用法。

select c.customer_id,c.name
from customers c
join orders o on c.customer_id=o.customer_id
join product p on o.product_id=p.product_id
group by c.customer_id,c.name
having sum(if(left(order_date,7)='2020-06', quantity*price,0 ))>=100
and sum(case when left(order_date,7)='2020-07' then quantity*price else 0 end)>=100

1、用left来选择到月份
2、having里可以使用if也可以使用case来聚合感兴趣的数据
3、group by需要按两列分组,或者按c.name分组,select的时候用聚合函数取customer_id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值