我有一份工作清單,顯示任何特定工作所進行的工作。在白天完成工作時,只添加一條記錄幷包含work_type。 工作不在週末進行。喬布斯可以在很長的一段時間內完成工作,在奇怪的一天和那裏工作,但是在工作週期的某個時刻,工作應該持續一段時間。 我們的管理層希望能夠在報告中突出顯示任何未長期工作的工作。 圍繞工作類型和團隊名稱還有一些其他條件,但主要問題在於時間問題。查找橫跨週末的連續日期
那麼......我如何找到至少連續兩週(10個工作日)沒有完成一致工作的工作?
接下來,作業164353將不會被包括在內,因爲它有連續的必需的10天(忽略週末),而作業214325將被標記爲9號的間隙打破了連續的天數序列。
JOB_ID W ACTION_DATE
---------- - -----------
164354 H 10-FEB-17
164354 H 13-FEB-17
164354 H 14-FEB-17
164354 H 15-FEB-17
164354 H 16-FEB-17
164354 H 17-FEB-17
164354 H 20-FEB-17
164354 H 21-FEB-17
164354 H 22-FEB-17
164354 H 23-FEB-17
164354 H 24-FEB-17
214325 H 01-MAR-17
214325 H 02-MAR-17
214325 H 03-MAR-17
214325 H 06-MAR-17
214325 H 07-MAR-17
214325 H 08-MAR-17
214325 H 10-MAR-17
214325 H 13-MAR-17
214325 H 14-MAR-17
214325 H 15-MAR-17
我有這個疑問,我可以連續生產組擁有多項針對每組天,但我在努力適應它跨越了週末。換句話說,下面的結果理想情況下將顯示連續10天的數量。
WITH
groups AS (
SELECT
ROW_NUMBER() OVER (ORDER BY action_date) AS rn,
action_date -ROW_NUMBER() OVER (ORDER BY action_date) AS grp,
action_date
FROM test_job_list
WHERE job_id = 164354
)
SELECT count(*) AS num_consec_dates,
min(action_date) AS earliest,
max(action_date) AS latest
FROM groups
group by grp
ORDER BY num_consec_dates desc, earliest desc
NUM_CONSEC
DATES EARLIEST LATEST
---------- --------- ---------
5 20-FEB-17 24-FEB-17
5 13-FEB-17 17-FEB-17
1 10-FEB-17 10-FEB-17
這個問題是否相似? [14523906](http://stackoverflow.com/questions/14523906/find-users-who-worked-for-5-consecutive-days-with-date-range-in-output?rq=1) – Todd
@Todd - 謝謝。它確實看起來很相似,但我肯定需要在這個範圍內留有空隙以便週末。 – BriteSponge