出于某种原因,我对此感到非常困惑。
基本上,我正在寻找一个查询,该查询将查找自 2010 年以来每月的新客户数量。
我有客户的电子邮件地址(电子邮件)、下的所有订单(订单 ID)以及下订单的日期(订单日期)。该表是 tblOrder。
我知道“新客户”是:(a)在日期/月份之前从未下过订单的人,以及 (b)在日期/月份之后至少有一个订单的人
我希望输出最终是这样的,更简单的方法更好:
01 02 03 04 05 06 07 08 09 10 11 12
2010 ## ## ## ## ## ## ## ## ## ## ## ##
2011 ## ## ## ## ## ## ## ## ## ## ## ##
2012 ## ## ## ## ## ## ## ## ## ## ## ##
我被交给了这个工作,但是伙计们,我真的不是程序员,对你们中的一些人来说可能看起来很简单,但它在我的脑海中,根本没有点击我。
SELECT <customer info>
FROM <customer table>
WHERE (SELECT COUNT(<order info>)
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> < <target date>) = 0
AND (SELECT COUNT(<order info>
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> > <target date>) > 0
我知道这也不是有效的 SQL。所以我不知道该怎么办。而且我认为它只是拉出适用客户的列表(即在输入的月份之前没有订购的客户),而不是像我最终想要的那样将它们全部计数并总计。