【发布时间】:2021-12-15 23:40:05
【问题描述】:
早安,
下面的“SELECT”显示员工人数及其到达和离开时间。
在这个数据中,我需要找出每次的员工总数(COUNT)(我不需要处理秒数)。在给定的时间段内有多少人同时工作。
例子:
SELECT
linka.xLinka
, linka.xDoklad
, zam.xPracovnik
, FORMAT(zam.xCasOd, 'HH:mm') as cas_od
, FORMAT(zam.xCasDo, 'HH:mm') as cas_do
FROM [K2CA_CA].[dbo].[_OV_Data01] as linka
LEFT OUTER JOIN dbo._OV_Data03 as zam ON zam.xLinka = linka.xLinka and zam.xDoklad = linka.xDoklad
WHERE linka.xRok = 2021
--AND linka.xDen >= '2021-10-20' and linka.xDen <= '2021-10-26'
AND (zam.xPozice like '%Bale%' or zam.xPozice like '%Plnič%')
结果:
Line Document Employee Arrival Departure
--------------------------------------------------------------------------------------------
| Balíčky, výroba nových NV | VL/2021/4072 | Vaněček Karel | 22:00 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Levá Pavlína | 23:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Škorňová Alena | 01:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Trofimov Jurii | 01:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Besahina Olena | 01:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Havel Zdeněk | 01:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Schmiedlová Ilona | 01:30 06:00
| Balíčky, výroba nových NV | VL/2021/4072 | Kulenová Jinřiška | 01:30 06:00
--------------------------------------------------------------------------------------------
结果,我需要赚取:
Line Document COUNT(*) Arrival Departure
--------------------------------------------------------------------------------------------
| Balíčky, výroba nových NV | VL/2021/4072 | 1 | 22:00 23:30 (22 - 23:30) work only one employee)
| Balíčky, výroba nových NV | VL/2021/4072 | 2 | 23:30 01:30 (23:30 - 1:30 works two employees - first arived at 22:00, second at 23:30))
| Balíčky, výroba nových NV | VL/2021/4072 | 8 | 01:30 06:00 (8 employes work here from 1:30 to 06:00)
--------------------------------------------------------------------------------------------
如何得到结果?或者我如何获得时间线定义?例如,员工 1 独自往返,另一名员工独自往返等等。提前谢谢您。
【问题讨论】:
标签: sql date select time count