java自动依照日期建表,脚本根据一个表中的日期字段填充每月汇总表
你想在這里做兩件事 . 我假設您正在使用Oracle(因為您正在使用Java) .
首先,您希望對每個用戶的每日交易進行分組 .
創建一個名為 tempTable 的臨時表 .
使用 to_char(currentdate, 'yyyy/mm/dd') 對它們進行分組 .
INSERT INTO tempTable
SELECT
userid,
resourceid,
doc_name,
trans_id,
to_char(currentdate, 'yyyy/mm/dd') as currentday,
to_char(currentdate, 'MM') as month_value,
count(*) as daily_count
FROM
usertransaction
GROUP BY
userid,
resourceid,
doc_name,
trans_id,
to_char(currentdate, 'yyyy/mm/dd')
如果你有太多的數據行,我建議你這樣做;每天做一次 .
INSERT INTO tempTable
SELECT
userid,
resourceid,
doc_name,
to_char(currentdate, 'yyyy/mm/dd') as currentday,
to_char(currentdate, 'MM') as month_value,
count(*) as daily_count
FROM
usertransaction
WHERE
to_char(currentdate, 'yyyy/mm/dd') = to_char(SYSDATE, 'yyyy/mm/dd')
GROUP BY
userid,
resourceid,
doc_name,
trans_id
其次,您需要根據 month_value 進行多次插入 .
INSERT INTO txn_jan
SELECT
userid,
resourceid,
doc_name,
to_date(current_day, 'yyyy/mm/dd') as current_day,
daily_count
FROM
tempTable
WHERE month_value='01'
INSERT INTO txn_feb
SELECT
userid,
resourceid,
doc_name,
to_date(current_day, 'yyyy/mm/dd') as current_day,
daily_count
FROM
tempTable
WHERE month_value='02'
并繼續..
總結
以上是生活随笔為你收集整理的java自动依照日期建表,脚本根据一个表中的日期字段填充每月汇总表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pycharm下将py文件打包成exe文
- 下一篇: 理想边界尺寸怎么算_CFD 仿真中的边界