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數位生活區 即時熱門文章