我正在寻找最好的解决方案检索与所有过去6个月的活动的用户id列表。
表结构和数据简化如下:
CREATE TABLE activities (
id int,
client_id int,
created_at timestamp
);
insert into activities values
(1, 1, '2019-06-01 00:00:00'),
(2, 2, '2019-06-01 00:00:00'),
(3, 1, '2019-07-01 00:00:00'),
(4, 1, '2019-08-01 00:00:00'),
(5, 1, '2019-09-01 00:00:00'),
(6, 1, '2019-10-01 00:00:00'),
(7, 1, '2019-11-01 00:00:00'),
(8, 2, '2019-11-01 00:00:00'),
(9, 3, '2019-11-01 00:00:00');
我需要检索过去6个月中每个月至少有一个活动的用户列表。在前面的例子中 client_id
1
我想加入,但似乎太贵了。为了不偏离和接受你的想法,我不会给你任何可能的解决办法。
请考虑我必须管理一个非常大的数据源(超过5000万行)。
有什么好主意吗?
1条答案
按热度按时间rlcwz9us1#
我不主张这一解决方案的至高无上性,部分原因是我认为这样的要求是不真诚的,但至少应该是有效的。。。