原始資料:
/*15分鐘客流統計*/
with tb as(
--使用正規表示式拼接格式化時間17:17:52為2018/1/1 17:52:00 date型別
select t.*,
to_date(regexp_substr(t.進站時間, '[^:]+', 1, 2) || ':' ||regexp_substr(t.進站時間, '[^:]+', 1, 3) || ':00', 'hh24:mi:ss') as 進站時間戳,
to_date(regexp_substr(t.出站時間, '[^:]+', 1, 2) || ':' ||regexp_substr(t.出站時間, '[^:]+', 1, 3) || ':00', 'hh24:mi:ss') as 出站時間戳
from cq_dt_in_ext_table1 t
),tb1 as(
--對刷卡進站時間每15分鐘分組
select gp, count(*) as in_cnt
from (select t.進站時間戳,
trunc(t.進站時間戳, 'mi') - mod(to_char(進站時間戳, 'mi'), 15) / 24 / 60 as gp,
t.卡號,
t.進站編碼
from tb t)
group by gp
),tb2 as
--對刷卡出站時間每15分鐘分組
(select gp, count(*) as out_cnt
from (select t.出站時間戳,trunc(t.出站時間戳, 'mi') -mod(to_char(出站時間戳, 'mi'), 15) / 24 / 60 as gp,
t.卡號,
t.出站編碼
from tb t)
group by gp
),tb3 as(
--構造5-24點每15分鐘時間碼表
select to_date(to_char(to_date('05:00:00', 'hh24:mi:ss') +level * 15 / 24 / 60,'hh24:mi:ss'),'hh24:mi:ss') as consult_time
from dual
connect by level <= 76
),tb4 as(
select t3.consult_time,
coalesce(t1.in_cnt, 0) in_cnt,
coalesce(t2.out_cnt, 0) out_cnt,
'全網' as in_line
from tb3 t3
left join tb1 t1 on t3.consult_time = t1.gp
left join tb2 t2 on t3.consult_time = t2.gp
)select t.consult_time 當前時間,
sum(t.in_cnt) over(order by consult_time) - sum(t.out_cnt) over(order by consult_time) 淨客流,
t.in_line 線路
from tb4 t;
查詢結果:
15分鐘了解Phoenix
以下部分翻譯自 phoenix為hbase穿上一層sql的外衣。所以你可以使用標準的jdbc api來建立表 插入資料 查詢hbase中的資料,而不是使用常規的hbase客戶端api。不會。跟原生的hbase客戶端相比,phoenix效能一樣好甚至更好,主要通過以下方式 除此之外,我們還做了一些工作...
15分鐘了解TiDB
2019年07月13日 22 21 49 d guco 閱讀數 77341 由於目前的專案把mysql換成了tidb,所以特意來了解下tidb。其實也不能說換,由於tidb和mysql幾乎完全相容,所以我們的程式沒有任何改動就完成了資料庫從mysql到tidb的轉換,tidb 是乙個分布式 news...
15分鐘引發的思考
這不是15 分鐘的會議,這是乙個由 15分鐘引發的思考。會場一開頭,便由我的乙個 8點推遲到8點 15的理由 嚴於律己 寬以待人,照顧特殊情況。盪起一片漣漪。在提高班裡有一種學習的形式叫做討論學習,在這裡是最平常也是最有效的一種進步方式。大家各抒己見,從中鍛鍊自己的思維,辯證的過程中糾正自己。在每一...