Re: [SQL ] 滾動計算並回傳

看板Database (資料庫)作者 (談無慾)時間4年前 (2020/10/05 15:57), 4年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/8 (看更多)
※ 引述《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
文章代碼(AID): #1VUj7gYj (Database)
討論串 (同標題文章)
文章代碼(AID): #1VUj7gYj (Database)