【问题标题】:ClickHouse select count from joined table records (COUNT, JOIN)ClickHouse 从连接表记录中选择计数(COUNT,JOIN)
【发布时间】:2020-12-18 09:34:04
【问题描述】:

任何人都可以在以下问题中提出建议:

我有 2 张桌子:

“T1”内容:

EVENT_ID| USER_ID | RECORD_CREATED_DATE |
_________________________________________
| 5f0172| 111     | 2020.07.13          |
| 5f0173| 222     | 2020.06.11          |
| 5f0174| 111     | 2020.08.20          |

“T2”内容:

| ID | USER_ID | RECORD_CREATED_DATE | SAVE_DATE  |
___________________________________________________
| 1  | 111     | 2020.05.21          | 2020.05.21 |
| 2  | 222     | 2020.03.18          | 2020.03.18 |
| 3  | 111     | 2020.07.21          | 2020.07.21 |
| 4  | 222     | 2020.08.15          | 2020.08.15 |

并且我需要输出结果,以便从表 2 中可以从没有 GROUP BY USER_ID 的第一个表中获取在 T1.RECORD_CREATED_DATET1.USER_ID 的上下文中记录的记录数

EVENT_ID| USER_ID | RECORD_CREATED_DATE | COUNT(T2.Id) |
_______________________________________________________|
| 5f0172| 111     | 2020.07.13          |    1         | -> because tabl "T2" has 1 record less date 2020.07.13
| 5f0173| 222     | 2020.06.11          |    1         |
| 5f0174| 111     | 2020.08.20          |    2         |

有什么想法吗?

【问题讨论】:

    标签: join select count clickhouse


    【解决方案1】:

    试试这个查询:

    SELECT 
        EVENT_ID,
        MAX(T1.USER_ID) AS USER_ID,
        MAX(T1.RECORD_CREATED_DATE) AS RECORD_CREATED_DATE,
        count() AS cnt
    FROM T2
    INNER JOIN T1 ON T1.USER_ID = T2.USER_ID
    WHERE T2.RECORD_CREATED_DATE < T1.RECORD_CREATED_DATE
    GROUP BY EVENT_ID
    ORDER BY EVENT_ID ASC
    /*
    ┌─EVENT_ID─┬─USER_ID─┬─RECORD_CREATED_DATE─┬─cnt─┐
    │ 5f0172   │     111 │ 2020-07-13 00:00:00 │   1 │
    │ 5f0173   │     222 │ 2020-06-11 00:00:00 │   1 │
    │ 5f0174   │     111 │ 2020-08-20 00:00:00 │   2 │
    └──────────┴─────────┴─────────────────────┴─────┘
    */
    

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      相关资源
      最近更新 更多