咨询个 SQL 数据去重的问题

kkbear · 2024-9-6 10:34:09 · 103 次点击
目前有个流水表,大几千万的数据,可以简化如下:
会员号( member_id), 流水日期( trans_date)

有个需求,需要找出指定日期段内的会员数量(去重)
这个日期段时灵活的,可能时本月,本周,最近 7 天,最近 30 天

有什么方法能优化
1. 没办法根据日期段做汇总结果的统计表,因为日期段没有任何规律
2. 数据库为 mysql,目前用的 sum(distinct member_id) where trans_date between
举报· 103 次点击
登录 注册 站外分享
7 条回复  
wenxueywx 初学 2024-9-6 10:43:34
写错了? 统计数量怎么会用 sum 应该用 count 吧
没理解根据日期做汇总结果的统计表什么意思
asAnotherJack 小成 2024-9-6 10:44:29
怎么是 sum 呢,不该是 count 吗
ZZ74 小成 2024-9-6 10:49:39
优化 ?现在是碰到什么问题了 查询慢?
sagaxu 初学 2024-9-6 10:50:49
按一个月不超过 300 万数据增量估算,有联合索引(trans_date, member_id),低频词的在从库里查 1 个月也 OK
8355 小成 2024-9-6 10:55:17
我倾向于用其他数据库做 例如 clickhouse 或着其他大数据方向的数据库计算,并不是用关系型数据库。
如果可以接受不是很精准的话可以用布隆过滤器
x1n04 小成 2024-9-6 10:55:57
type 看看,再加点索引呢。
NoOneNoBody 小成 2024-9-6 11:09:13
我只知道 pandas 做这个甚为简单,sql 就不晓得了
返回顶部