【SQL】1327. 列出指定时间段内所有的下单产品

前述

知识点:sql中用JOIN USING 简化JOIN ON

题目描述

leetcode 题目:1327. 列出指定时间段内所有的下单产品



Code

写法一

先过滤,再连表

sql 复制代码
-- 写法一:先过滤再连表
select B.product_name, A.summ as unit
from(
    select product_id,
        sum(unit) as summ
    from Orders
    where order_date between '2020-02-01' and '2020-02-29'
    group by product_id
    having summ >= 100
) A
left join Products B
on A.product_id = B.product_id;

写法二

先连表,再过滤

sql 复制代码
-- 写法二:先连表再过滤
select product_name, sum(unit) as unit
from Products P
left join Orders O
using(product_id)
-- where order_date between '2020-02-01' and '2020-02-29'
-- where order_date >= '2020-02-01' and order_date <='2020-02-29'
-- where year(order_date) = 2020 and month(order_date) = 02
where order_date like '2020-02%'
group by O.product_id
having sum(unit) >= 100;

不同的过滤条件写法,都行。

相关推荐
孑渡34 分钟前
【LeetCode】每日一题:跳跃游戏 II
python·算法·leetcode·游戏·职场和发展
Majoy243 分钟前
HBase
大数据·数据库·hbase
夜光小兔纸2 小时前
oracle查询出表中某几个字段值不唯一的数据
数据库·sql·oracle
A22743 小时前
LeetCode 196, 73, 105
java·算法·leetcode
deadknight94 小时前
Oracle密码过期处理方式
数据库·oracle
Ljubim.te4 小时前
数据库第01讲章节测验(选项顺序可能不同)
数据库
吱吱喔喔4 小时前
数据分表和分库原理
数据库·分表·分库
快乐非自愿4 小时前
KES数据库实践指南:探索KES数据库的事务隔离级别
数据库·oracle
一只fish4 小时前
Oracle的RECYCLEBIN回收站:轻松恢复误删对象
数据库·oracle
weixin_440401694 小时前
分布式锁——基于Redis分布式锁
java·数据库·spring boot·redis·分布式