【发布时间】:2018-05-17 19:10:21
【问题描述】:
以下查询有效,但我想稍微修改一下。
事实上,它从客户表中选择所有客户,这些客户不在此文件中先前函数的数组中(因此是'NOT IN($dealerNum')。它对所有其他客户运行查询,如果他们在过去 6 个月之前的 12 个月内有订单,则检索他们的号码(我在 18 个月的窗口中工作)。
我需要稍微改变一下。我仍然想在任何不在前一个数组中的客户上运行它。但是,我想检索过去 6 个月而不是之前 12 个月有订单的任何客户的数量。基本上表明他们至少在那一年/ 12 个月内处于活跃状态,并且在过去 6 个月内一直处于活跃状态。
希望这是有道理的。这是现有的查询,我只是不确定修改 WHERE 以处理此问题的最佳/最合乎逻辑的方式
SELECT c.customerNumber
FROM Customers C
INNER JOIN Orders G ON C.CustomerNumber = G.Customer
WHERE c.customerNumber NOT IN ($dealerNum)
AND C.date BETWEEN CURRENT_DATE - 18 MONTHS AND CURRENT_DATE - 6 MONTHS
GROUP BY C.customerNumber
HAVING COUNT(*) > 0
【问题讨论】:
-
你的意思是
C.date我希望日期来自Orders表-即一个订单日期 -
啊,是的,很抱歉你是对的