Tenho vários pedidos de produtos e estou tentando agrupar por data e somar a quantidade dessa data. Como posso agrupar por mês / dia / ano sem levar em consideração a parte do tempo?
3/8/2010 7:42:00
deve ser agrupado com 3/8/2010 4:15:00
sql
sql-server
tsql
sql-server-2008
The Muffin Man
fonte
fonte
Respostas:
Transmitir / converter os valores em um
Date
tipo para o seu grupo por.fonte
DateTime.Date
.DateTime.Date
- Entity Framework:EntityFunctions.TruncateTime(myDateTime)
Ou no SQL Server 2008 em diante, você pode simplesmente transmitir
Date
como @Oded sugerido:fonte
No pré Sql 2008, removendo a parte da data:
fonte
GROUP BY DATE(date_time_column)
fonte
Aqui está um exemplo que eu usei quando precisei contar o número de registros para uma data específica sem a parte da hora:
fonte
Aqui está o exemplo funciona bem no oracle
fonte
Campo de data e hora do CAST até a data
fonte
Eu acredito que você precisa se agrupar, naquele dia do mês do ano. então porque não usar as funções TRUNK_DATE. A maneira como funciona é descrita abaixo:
fonte