Você pode agrupar por isso:
cast(floor(cast(AutoShipItems.NextOrderDate as float)) as datetime)
Eu coloquei isso em uma função escalar definida pelo usuário para facilitar:
create function [dbo].[xfn_TrimTimeFromDateTime]
(
@date as datetime
)
returns datetime with schemabinding as
begin
--- Convert to a float, and get the integer that represents it.
--- And then convert back to datetime.
return cast(floor(cast(@date as float)) as datetime)
end
Que você chamaria assim:
GROUP BY
AutoShipItems.CustomerID,
dbo.xfn_TrimTimeFromDateTime(AutoShipItems.NextOrderDate),
Customer.FirstName, Customer.LastName, Customer.EmailAddress
Observe que talvez você precise alterar os valores na cláusula SELECT, pois está agrupando por algo diferente agora.