ClickHouse select 从加入的 table 条记录中计数(COUNT,JOIN)

ClickHouse select count from joined table records (COUNT, JOIN)

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

我有 2 个 table:

“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 |

并且我需要输出结果,以便从 table 2 可以从第一个获得 T1.RECORD_CREATED_DATET1.USER_ID 上下文中记录的记录数table 没有 GROUP BY 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         |

有什么想法吗?

试试这个查询:

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 │
└──────────┴─────────┴─────────────────────┴─────┘
*/