David_Wimbley
Я не знаю, что такое ods_start_date, но следующий пример должен дать вам представление. Поскольку вы не опубликовали никаких данных схемы/образца, я использую таблицу var в sql server с некоторыми образцами данных, которые я создал. Мои колонки немного отличаются, но вы должны быть в состоянии увидеть общее направление, в котором это происходит.
DECLARE @WorkOrders TABLE (
WorkOrderId INT NULL, --same as WorkorderCurID
RequiredBy DATETIME NULL, --same as RequiredByDtime
DateCreated DATETIME NULL -- same as CreateDtime
);
INSERT INTO @WorkOrders ( WorkOrderId, RequiredBy, DateCreated)
VALUES ( 1 , -- WorkOrderId - int
'2017-07-25 13:50:03.000', -- RequiredBy - datetime
GETDATE() -- DateCreated - datetime
)
INSERT INTO @WorkOrders ( WorkOrderId ,RequiredBy ,DateCreated)
VALUES ( 1 , -- WorkOrderId - int
'2017-07-25 13:50:03.000', -- RequiredBy - datetime
GETDATE() -- DateCreated - datetime
)
INSERT INTO @WorkOrders ( WorkOrderId ,RequiredBy ,DateCreated)
VALUES ( 2 , -- WorkOrderId - int
'2017-07-25 13:50:00.000', -- RequiredBy - datetime
GETDATE() -- DateCreated - datetime
)
INSERT INTO @WorkOrders ( WorkOrderId ,RequiredBy ,DateCreated)
VALUES ( 2 , -- WorkOrderId - int
'2017-07-25 13:50:00.000', -- RequiredBy - datetime
GETDATE() -- DateCreated - datetime
)
INSERT INTO @WorkOrders ( WorkOrderId ,RequiredBy ,DateCreated)
VALUES ( 2 , -- WorkOrderId - int
'2017-07-25 11:50:03.000', -- RequiredBy - datetime
GETDATE() -- DateCreated - datetime
)
--Get counts by Date and Time
SELECT WorkOrderId,RequiredBy, COUNT(*) AS WorkOrderCount FROM @WorkOrders
GROUP BY WorkOrderId,RequiredBy
--Get counts by date only
SELECT WorkOrderId,CAST(RequiredBy AS DATE), COUNT(*) AS WorkOrderCount FROM @WorkOrders
GROUP BY WorkOrderId,CAST(RequiredBy AS DATE)
Я не совсем понимаю, что такое ods_start_date, поэтому вам придется включить его в мой пример, если вы попытаетесь запустить его, но в противном случае это должно дать вам общую идею.
Я включил два запроса, один из которых получает подсчеты по дате и времени. В этом примере вы увидите, как рабочий заказ 2 имеет две строки, так как для этого рабочего заказа существует 2 разных уникальных времени.
Во-вторых, если бы вы подсчитывали заказы на работу только по требуемой дате (дате). Таким образом, вы увидите, что он разбит на 2 записи, а подсчеты корректируются по дате вместо даты + времени для рабочего заказа 2.
Не стесняйтесь задавать любые вопросы.