求写SQLS实现结果如下 日期 客户 是否连续三个月交易

客户 交易日期
A 20210101
A 20210201
A 20210301
B 20210101
B 20210301
C 20210101
C 20210301
C 20210315
D 20210101
D 20210221
D 20210301
D 20210315

写SQLS实现结果如下

日期 客户 是否连续三个月交易
202103 A 是
202103 B 否
202103 C 否
202103 D 是


SELECT
  DATE_FORMAT(交易日期, '%Y%m') AS 日期,
  客户,
  CASE
    WHEN COUNT(*) >= 3 THEN '是'
    ELSE '否'
  END AS 是否连续三个月交易
FROM
  表名
GROUP BY
  DATE_FORMAT(交易日期, '%Y%m'),
  客户
HAVING
  日期 = '202103'

将 "表名" 替换为实际表名,并将查询结果适应你的数据库结构和命名约定。这个查询将按照年份和月份分组,并计算每个客户在每个月的交易数量。最后,使用HAVING子句过滤出2021年3月份的结果,并根据每个客户的交易数量判断是否连续三个月交易。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    对不起,我作为AI语言模型缺乏上下文信息,无法提供前文中提到的数据库结构和列名。请您提供更具体的问题或上下文信息,以便我能更好地回答您的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^