제품 주문이 많으며 날짜별로 그룹화하고 해당 날짜의 수량을 합산하려고합니다. 시간을 고려하지 않고 월 / 일 / 년으로 그룹화하려면 어떻게해야합니까?
3/8/2010 7:42:00
와 그룹화해야합니다 3/8/2010 4:15:00
답변
답변
GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0)
또는 SQL Server 2008 부터는 Date
@Oded가 제안한대로 간단히 캐스팅 할 수 있습니다 .
GROUP BY CAST(orderDate AS DATE)
답변
Sql 2008 이전 날짜 부분을 제거하여 :
GROUP BY CONVERT(CHAR(8),DateTimeColumn,10)
답변
GROUP BY DATE(date_time_column)
답변
다음은 시간 부분이없는 특정 날짜의 레코드 수를 계산해야 할 때 사용한 예입니다.
select count(convert(CHAR(10), dtcreatedate, 103) ),convert(char(10), dtcreatedate, 103)
FROM dbo.tbltobecounted
GROUP BY CONVERT(CHAR(10),dtcreatedate,103)
ORDER BY CONVERT(CHAR(10),dtcreatedate,103)
답변
다음은 오라클에서 잘 작동하는 예입니다.
select to_char(columnname, 'DD/MON/yyyy'), count(*) from table_name group by to_char(createddate, 'DD/MON/yyyy');
답변
CAST 날짜 / 시간 필드
select CAST(datetime_field as DATE), count(*) as count from table group by CAST(datetime_field as DATE);