首页 > 解决方案 > 每天查找上周订购的客户?

问题描述

最近在面试中被问到一个问题。其中有一个客户表和一个订单表。每天如何获取最近一周下单的客户,如何找到连续三天下单的客户?

感谢你的帮助。

提前致谢。

标签: sqloracle

解决方案


为了让过去 N 天每天都订购的客户,我会尝试类似的方法:

select customer_id
  from orders
  where trunc(order_date) > trunc(sysdate) - :N
  group by customer_id
  having count(distinct trunc(order_date)) = :N

这个想法是,该WHERE子句将您的数据限制为过去 N 天内的订单,然后我们GROUP BY为每个客户组成一个组,然后在该HAVING子句中我们检查每个客户是否COUNT(DISTINCT TRUNC(ORDER_DATE))等于 N。


推荐阅读