【发布时间】:2018-10-10 14:25:47
【问题描述】:
确定每个客户下了多少订单。不要在结果中包含最近未下过订单的任何客户。
order# customer# orderdate
============================
1000 1005 31-MAR-09
1001 1010 31-MAR-09
1002 1011 31-MAR-09
1003 1001 01-APR-09
1004 1020 01-APR-09
1005 1018 01-APR-09
1006 1003 01-APR-09
1007 1007 02-APR-09
1008 1004 02-APR-09
1009 1005 03-APR-09
1010 1019 03-APR-09
1011 1010 03-APR-09
1012 1017 03-APR-09
1013 1014 03-APR-09
1014 1007 04-APR-09
1015 1020 04-APR-09
1016 1003 04-APR-09
1017 1015 04-APR-09
1018 1001 05-APR-09
1019 1018 05-APR-09
1020 1008 05-APR-09
下面是我在 Oracle 中的 SQL 查询
select count(orderdate)
from books
group by customer#
至于结果,我得到了总数 每个客户订购的书籍。但是它也指出我需要 仅包括最近的订单。
【问题讨论】:
-
您需要定义最近,也就是说上周?最后一个月?昨天?最后一个季度?
-
您可以选择代码然后按 ctrl + K 将代码格式化为代码
-
您好,是课程的吗?也许你应该自己尝试一下。
-
使用
having子句,例如having max(orderdate) >= date '2009-04-04'仅显示最近 订购商品的客户的结果。 -
Google SQL Where 子句,您可以找到您要查找的内容。就像@nacho 说的那样,您需要定义“最近”的含义并将其用作子句的一部分。