我想获得的最小和最大次,每次司机去的路线时间。他们可以回去第四同一路线多次在一天,但我需要每次倍。
我搜索只带回一个路线(7)和一个路线1,但每个司机驱使这些路线的不止一个。我已经展示了在第一天为一个总线低于预期的结果
SELECT Date AS Service_date, route, bus, MIN(Time) AS Starttime
, MAX(Time) AS EndTime, first_name, last_name
FROM dbo.TRDATE
WHERE (route > 0) AND (drv <> 777) AND (drv > 0)
GROUP BY Date, route, bus, first_name, last_name
ORDER BY Starttime
预计数据:
Service_date route bus Starttime EndTime first_name last_name
2019-01-02 1 3903 06:28:00 11:08:00 ANTHONY INGRAM
2019-01-02 7 3903 11:08:00 11:30:00 ANTHONY INGRAM
2019-01-02 1 3903 11:30:00 12:31:00 ANTHONY INGRAM
2019-01-02 7 3903 12:31:00 13:41:00 ANTHONY INGRAM
2019-01-02 1 3903 13:44:00 15:03:00 MARIE SNEED
2019-01-02 7 3903 15:03:00 17:31:00 MARIE SNEED
2019-01-02 7 3903 17:34:00 18:40:00 HECTOR TANABE
2019-01-02 1 3903 18:40:00 19:34:00 HECTOR TANABE
通过添加秒钟,我的时间和增加一个小时列,差距和岛屿问题就解决了。
SELECT TOP (100) PERCENT Date AS Service_date, route, bus, MIN(Time) AS Starttime, MAX(Time) AS EndTime, drv, hour
FROM dbo.TRDATE
WHERE (route > 0) AND (drv <> 777) AND (drv > 0)
GROUP BY Date, bus, route, drv, hour
order by service_date, bus,Starttime