LeetCode(数据库)- 消费者下单频率

Posted 程序员牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 消费者下单频率相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:略。

解题思路:略。

AC 代码

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

-- 解决方案(2)
WITH t AS(SELECT customer_id, DATE_FORMAT(order_date, '%Y-%m') fdate, SUM(quantity * price) total
FROM Product p JOIN Orders o USING(product_id)
WHERE DATE_FORMAT(order_date, '%Y-%m') = '2020-06' OR DATE_FORMAT(order_date, '%Y-%m') = '2020-07'
GROUP BY customer_id, fdate)

SELECT customer_id, name
FROM t JOIN Customers USING(customer_id)
WHERE total >= 100
GROUP BY customer_id
HAVING COUNT(*) = 2

以上是关于LeetCode(数据库)- 消费者下单频率的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:Database 107.消费者下单频率

LeetCode(数据库)- 列出指定时间段内所有的下单产品

美团大数据杀熟:苹果手机下单最贵,最高价和最低价相差14%

如何突破微信统一下单qps限制

LeetCode刷题笔记-数据结构-day21

LeetCode刷题笔记-数据结构-day21