【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;

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

相关推荐
Su-RE16 分钟前
【ElasticSearch】text 和 keyword 类型区分
java·数据库·elasticsearch
武子康19 分钟前
Java-146 深入浅出 MongoDB 数据插入、批量写入、BSON 格式与逻辑查询and or not操作指南
java·开发语言·数据库·sql·mongodb·性能优化·nosql
奥尔特星云大使26 分钟前
MySQL快速构建主从(基于GTID)
数据库·mysql·主从复制
小园子的小菜28 分钟前
MySQL ORDER BY 深度解析:索引排序规则与关键配置参数阈值
数据库·mysql
wxjlkh30 分钟前
Oracle Exadata一体机简介 1千多个W
数据库·oracle
泽虞1 小时前
《Qt应用开发》笔记p3
linux·开发语言·数据库·c++·笔记·qt·面试
XXYBMOOO1 小时前
如何自定义 Qt 日志处理并记录日志到文件
开发语言·数据库·qt
不剪发的Tony老师1 小时前
PEV2:一款PostgreSQL执行计划可视化工具
数据库·postgresql
IT 小阿姨(数据库)1 小时前
PostgreSQL wal_e 工具详解
运维·数据库·sql·postgresql·centos
有想法的py工程师1 小时前
AL2系统下编译安装PSQL16.4版本
linux·运维·数据库·postgresql