7 計算時間段內特定範圍內的人員組合

2021-10-19 06:56:03 字數 2572 閱讀 3690

要求、結果如圖

-貨車表資料

(select 1 as 順序,

1001 as 車隊編號,

'張三' as 車主姓名,

10 as 載貨量

from dual

union all

select 2

,1001

,'李四',15

from dual

union all

select 3

,1001

,'王五',10

from dual

union all

select 4

,1001

,'馬六',30

from dual

union all

select 1

,1002

,'趙七',35

from dual

union all

select 2

,1002

,'錢八',75

from dual

union all

select 1

,1003

,'孫九'

,100 from dual

),t2 as --

--貨物堆資料

(select 1 as 順序,

1001 as 車隊編號,

'a' as 貨物堆編號,

20 as 貨物量

from dual

union all

select 2

,1001

,'b',8

from dual

union all

select 3

,1001

,'c',12

from dual

union all

select 4

,1001

,'d',7

from dual

union all

select 5

,1001

,'e',9

from dual

union all

select 6

,1001

,'f',9

from dual

union all

select 1

,1002

,'g',10

from dual

union all

select 2

,1002

,'h',80

from dual

union all

select 3

,1002

,'i',20

from dual

union all

select 1

,1003

,'j'

,100 from dual

),t3 as --

--從這裡開始邏輯處理,對兩表資料求累計和和標記

(select t.*,

sum(載貨量)

over

(partition by 車隊編號 order by 順序) as 累計載貨,

1 as flag

from t1 t

union all

select t.*,

sum(貨物量)

over

(partition by 車隊編號 order by 順序) as 累計載貨,

0 as flag

from t2 t

),t4 as --對資料進行求差,

(select t.

*,t.累計載貨-

lag(t.累計載貨,1,

0)over

(partition by t.車隊編號 order by t.累計載貨) as 裝入,

sum( flag )

over

(partition by 車隊編號 order by 累計載貨,flag )

+decode

(flag,0,

1,0) as flag1,

sum(

decode

(flag,0,

1,0)

)over

(partition by 車隊編號 order by 累計載貨,flag )

+flag as flag2

from t3 t )--

-下面就是關聯兩表得到車主姓名和貨物堆編號

select t.車隊編號,t1.車主姓名,t2.貨物堆編號,t.裝入

from t4 t join t1 on t.車隊編號=t1.車隊編號 and t.flag1=t1.順序 join t2 on t.車隊編號=t2.車隊編號

and t.flag1=t2.順序

where t.裝

0

大廠面試題集錦 計算時間段內特定範圍內的人員組合

有這樣乙個表,裡面存放了每個人的時空座標,時間以秒為單位,空間座標 為二維座標,單位是公尺人員編碼 採集時間 二維座標 x,y 10001 2020 08 10 12 00 00 10,150 10002 2020 08 10 12 00 05 11,145 10002 2020 08 10 12 ...

js根據當前時間獲取指定範圍內的時間段日期

一.前言 在專案當中,有很多時候需要根據當前時間來獲取指定的時間範圍,用於查詢某個時間段內的資料庫資料,比如根據當前時間獲取今天 昨天 一周內 本週內 乙個月內等 的時間範圍 本篇部落格則提供乙個獲取時間段的js工具,簡潔方便,也應用於很多專案上,有興趣的程式猿可參考參考 二.實踐 1.下面則是具體...

js根據當前時間獲取指定範圍內的時間段日期

一.前言 在專案當中,有很多時候需要根據當前時間來獲取指定的時間範圍,用於查詢某個時間段內的資料庫資料,比如根據當前時間獲取今天 昨天 一周內 本週內 乙個月內等 的時間範圍 本篇部落格則提供乙個獲取時間段的js工具,簡潔方便,也應用於很多專案上,有興趣的程式猿可參考參考 二.實踐 1.下面則是具體...