生成自然時間的connect by

2021-08-24 19:47:41 字數 1152 閱讀 4473

有個表的統計不好做,請問大家遇到這樣的做法

有個這樣的表 有個時間字段 另外有關這個時間期內的 其他方面的資訊

該錶的結構如下

周次,星期, 商店, 參觀人數,購買人數,參觀人次,購買人次。

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可以通過多種格式返回當前時間 函式引數 描述是否必...