我有一个带有列DateTime,JobID,TaskID的表
DateTime JobID TaskID
2020-05-16 06:43:11.687 353 NULL
2020-05-16 06:45:11.687 353 123
2020-05-16 06:43:11.687 353 123
2020-05-16 06:43:12.297 353 456
2020-05-16 06:44:30.750 353 456
2020-05-16 06:44:30.750 353 456
2020-05-16 06:44:30.750 353 789
2020-05-16 06:45:05.000 353 789
2020-05-16 06:48:07.750 353 789
2020-05-16 06:49:01:110 353 011
2020-05-16 06:50:11:112 353 NULL
我需要编写查询,给我子任务ID 456的最小(日期时间)和父任务ID 353的最大(日期时间),输出看起来像]]
Startime Endtime 2020-05-16 06:43:12.297 2020-05-16 06:50:11:112
这仅适用于一天,即16日,同样,我需要一个星期的数据。我尝试在同一张桌子上进行联接
select mt1.Starttime, MAX(t1.JobLogDateTime) AS Endtime from JobLog t1 inner join ( SELECT jobid, MIN(JobLogDateTime) AS Starttime FROM JobLog WHERE taskid=456 group by JobLogDateTime, jobid ) mt1 on t1.JobID=mt1.jobid GROUP BY t1.JobLogDateTime
由于不正确的group by子句,这造成了问题
我有一个带有列DateTime,JobID,TaskID DateTime JobID TaskID的表2020-05-16 06:43:11.687 353 NULL 2020-05-16 06:45:11.687 353 123 ...
SELECT
min( datetime ) OVER ( task_id )
, max( datetime ) OVER ( task_id )
FROM
X
WHERE job_id = y