有個表的統計不好做,請問大家遇到這樣的做法
有個這樣的表 有個時間字段 另外有關這個時間期內的 其他方面的資訊
該錶的結構如下
周次,星期, 商店, 參觀人數,購買人數,參觀人次,購買人次。
200928,星期一,**店, 30, 5, 45, 6.
比如說 我目前有6家店。 周次和星期是自然時間。 其他幾個數字字段分別從四個表統計而來的。
現在有這樣的問題 6家店營業時間不一致,也就是在星期一關門,星期五開門營業。
那麼我無法從四張表中獲得穩定時間來生成前面的,周次和星期幾。
所以就採用自然時間來生成,不依靠店鋪的營業時間! 就採用迴圈生成。
接著遇到了效能問題
1 採用游標迴圈插入法
for i.. in 0..(v_end-v_start) loop
insert into object
select a.yearweek,a.weekday,b.storname, c.vistor,d.buynum,e.vistornum,f.buy
from
( select to_char(v_start+i,'yyyyiw'),to_char(v_start+i,'day') )a
left join () c on a.....
left join () d on a....
left join () e on a....
left join () f on a....
end loop;
2 採用 先把時間插入目標表 然後再更新。
結果 效能也不好,update 語句執行很慢,每update目標表一條記錄是要重新執行邊4個子查詢。
3 採用臨時表法 把時間插入到臨時表。
效能可以 編寫特麻煩。 動態生成臨時表,動態執行,動態引數賦值,動態插入。
4 最後採用 物理臨時表法。
請問各位 遇到這樣的情況 是怎麼解決的。有更好的辦法嗎?
1.可以不用游標
select to_char(v_start + level, 'yyyyiw') yearweek,
to_char(v_start + level, 'day') weekday
from dual
connect by level < v_end - v_start
資料庫生成日然周 自然月 自然日
mysql sql指令碼 set foreign key checks 0 table structure for date assist drop table if exists date assist create table date assist id int 11 not null aut...
生成時間維
先建立乙個dimdate的structure五木有古弟母而致皆,繼時先貶利孝高道然後直接用procedure生成資料南順中古聰悔仕南。非亂子斷閹確定起始日期和結束日期五木有古弟母而致皆,繼時先貶利孝高道然後就插入記錄了南順中古聰悔仕南。非亂子斷閹 下面是基本的 五木有古弟母而致皆,繼時先貶利孝高道你...
jmeter生成時間的函式
在乙個介面測試中,需要提交的請求中要帶時間,在看完jmeter幫忙文件,正好總結一下 1 需求 在乙個http請求中請求資料要帶有時間,如下 2 實現 突然想到jmeter自帶的函式助手好像是可以實現這功能的,於是乎就去網上查閱了一番 函式 time可以通過多種格式返回當前時間 函式引數 描述是否必...