作者MOONY135 (谈无慾)
看板Database
标题Re: [SQL ] 滚动计算并回传
时间Mon Oct 5 15:57:28 2020
※ 引述《Wengboyu ( )》之铭言:
这东西看起来就是准备最後的报表类 而且资料算是已经都不会再新增的
建议作法是
直接把a table的每一笔资料都取出来 丢进去算
最後塞到c结算table里面 用排程去慢慢跑
不要想着一次就全部捞出来而且每次都直接算新的
//====
刚刚想到更新的做法
从TABLE a取出最老的日期 然後把那个日期跟到今天的日期弄成另外一张table
table 栏位大概就是
day is_done
20200101 1
20200102 0
.
.
.
202001005 0
然後开始 用那个日期去捞b
count(*) between year_of_day
and day GROUP BY docter_id
就好了
排程5~10秒做一次 一次处理一天
三个多小时可以做完一年的份量
: 资料库名称:SAS SQL
: b.prescriptiondate between a.prescriptionBeginDate and
: intnx('year', a.PrescriptionBeginDate, -1, 'same'))
: as service_volume
: from
: dataset a, dataset b;
: quit;
: 因为跑很久,我不太确定这样写是不是可以得到我要的结果..
: table a 有240万笔,b有1600万笔
: 如果大家要测试自己code写得对不对,会怎麽弄?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.180.166 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1601884650.A.8AD.html
※ 编辑: MOONY135 (123.194.180.166 台湾), 10/05/2020 16:10:27
※ 编辑: MOONY135 (123.194.180.166 台湾), 10/05/2020 16:11:50