要实现连续 30 天的相关统计的方法
source link: https://www.v2ex.com/t/822549
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
1.在程序里,请求 30 天的数据
2.在数据库里直接调取 30 天的数据。
xuanbg 1 天前
hushulin 1 天前
dqzcwxb 1 天前
内存不够,初始化查两天的数据,比对出连续签到的数据再查下一天数据继续比对,如果内存还是不够可以改成分页
优化点:多线程并行查询,多线程并行比对,转 map 比对,利用 redis(zset 是跳表)存储数据和比对
用数据库解决只会带来无穷无尽的麻烦
neptuno 1 天前 via iPhone
PerFectTime 1 天前
2.按天分组汇总结果,结果表 JOIN 表值函数,处理后得出报表
onhao 1 天前
@hushulin 可以贴下代码不,借鉴下。
@dqzcwxb 数据库查基础数据,再在程序里做对应的运算
@neptuno 也不失为一个办法。
@PerFectTime 表值函数是自定义还是系统自带的?-可以贴下代码不,
Saxton 1 天前
2i2Re2PLMaDnghL 1 天前
问:已知数据库存稀疏表其中 0 值不存,在何处填充 0
1. 在业务逻辑中填充
2. 在 SQL 语句中填充
答:两种差得不是特别多,实际得看你的业务将其视为数据的一部分还是业务的一部分。
也就是说,当且仅当数据库原本设计为保存 0 ,之后优化数据库结构才产生的空洞,则应用 SQL 处理
否则应用业务代码处理
onhao 1 天前
2i2Re2PLMaDnghL 1 天前
PerFectTime 1 天前 1
FROM dbo.getRangeMonthList('2020-01-01', '2021-12-01');
结果如下图
onhao 1 天前
@Saxton 看来我们是一样的啊
@PerFectTime 一直想实现你这个自定义函数,对就是这个味!
yohole 1 天前
2i2Re2PLMaDnghL 1 天前
pengtdyd 1 天前
onhao 1 天前
leeg810312 22 小时 33 分钟前 via Android
Valid 21 小时 7 分钟前
onhao 19 小时 26 分钟前
具体的需求:一个链接 当天进来的用户 在未来 30 天的充值情况,然后每天都会进来新的用户,一天天的算未来 30 天的充值情况。
@leeg810312 是的我们好多定时任务都是在低峰执行,不过这个需求,都是直接从充值表调数据。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK