You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询同一月份内同时包含eventA和eventB的所有GUID

同月份双事件匹配GUID查询方案

实现思路

  • 先对日期做年月维度对齐,确保所有同月份的记录被归为一组
  • 过滤仅保留eventA、eventB两类事件的记录,降低计算量
  • 按GUID+年月分组后,判断分组内是否同时存在两类事件
  • 对符合条件的GUID去重输出,避免同一个GUID符合多个月份条件时重复返回

查询语句

通用版本(适配PostgreSQL、BigQuery、Spark SQL等)

将代码中的your_table_name替换为实际表名即可使用:

SELECT DISTINCT GUID
FROM (
    SELECT 
        GUID,
        DATE_TRUNC('month', Date) AS event_month
    FROM your_table_name
    WHERE EventName IN ('eventA', 'eventB')
    GROUP BY GUID, event_month
    HAVING COUNT(DISTINCT EventName) = 2
) AS valid_guid_groups;

MySQL适配版本

MySQL不支持DATE_TRUNC函数,替换为日期格式化函数即可:

SELECT DISTINCT GUID
FROM (
    SELECT 
        GUID,
        DATE_FORMAT(Date, '%Y-%m') AS event_month
    FROM your_table_name
    WHERE EventName IN ('eventA', 'eventB')
    GROUP BY GUID, event_month
    HAVING COUNT(DISTINCT EventName) = 2
) AS valid_guid_groups;

效果验证

匹配你提供的样例数据时,查询会返回abc-guid-1、def-guid-2两个结果,和预期完全一致。

内容的提问来源于stack exchange,提问作者Mumfi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:24:06