Re: [SQL ] 滾動計算並回傳
※ 引述《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://www.ptt.cc/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
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章