我需要一个查询,将给我谁在过去3年内在多个商店购物的客户计数。
我已经制定了以下查询,但这不是我需要知道的:
SELECT STORE_ID, CUSTOMER_ID, COUNT(DISTINCT CUSTOMER_ID) as SERVICE_COUNT
From SALES INNER JOIN
STORE_DETAILS
ON trim(STORE_ID) = trim(STORE_ID)
WHERE (CURRENT_DATE - cast(SALE_DATE AS DATE format 'mm/dd/yyyy')) < 1095
ORDER BY 1,2
Group by 1,2
HAVING COUNT(DISTINCT SALE_DATE) > 1
2条答案
按热度按时间ufj5ltwl1#
如果您想在多个商店找到客户,那么可以选择以下方式:
我不明白你的约会表情,但你大概知道它应该做什么。
9rnv2umw2#
基于您的评论优化了gordon的查询版本:
通常,store\u id后面有空格,不允许真正匹配
比较字符串会忽略尾随空格。只要没有前导空格(这是最坏的情况,应该在加载期间修复),就不必修剪(这对性能非常不利)。
销售日期的数据类型是日期
如果是约会就不需要演员阵容了。此外,三年内的逻辑可以简化,以避免对每一行的日期计算。