반응형
SQL Server GROUP BY 날짜 및 합계 값이 포함된 선택 시간 무시(분 단위)
두 개의 필드가 있는 테이블이 있습니다.datetime
그리고.int
저는 다음 시간에 그룹을 하고 싶습니다.datetime
시간과 분을 무시한 날짜에만 해당됩니다.그SELECT
문은 하루의 int 합계에 매핑되는 날짜를 반환해야 합니다.
SELECT CAST(Datetimefield AS DATE) as DateField, SUM(intfield) as SumField
FROM MyTable
GROUP BY CAST(Datetimefield AS DATE)
사용하는 SQL 서버 버전을 지정하지 않았기 때문에 (date
2005년에는 유형을 사용할 수 없음)을 사용할 수도 있습니다.
SELECT CONVERT(VARCHAR(10),date_column,112),SUM(num_col) AS summed
FROM table_name
GROUP BY CONVERT(VARCHAR(10),date_column,112)
저는 이를 위해 필요한 옵션을 조사하러 왔지만, 제가 사용하는 방법이 가장 단순하다고 생각합니다.
SELECT COUNT(*),
DATEADD(dd, DATEDIFF(dd, 0, date_field),0) as dtgroup
FROM TABLE
GROUP BY DATEADD(dd, DATEDIFF(dd, 0, date_field),0)
ORDER BY dtgroup ASC;
데이터 유형과 형식이 날짜 시간 데이터 유형과 일치하기 때문에 좋습니다.
;with cte as(
select
cast(utcdate as date) UtcDay, DATEPART(hour, utcdate) UtcHour, count(*) as Counts
from dbo.mytable cd
where utcdate between '2014-01-14' and '2014-01-15'
group by
cast(utcdate as date), DATEPART(hour, utcdate)
)
select dateadd(hour, utchour, cast(utcday as datetime)) as UTCDateHour, Counts
from cte
개인적으로 저는 날짜 부분을 아주 쉽게 변경할 수 있는 포맷 기능을 선호합니다.
declare @format varchar(100) = 'yyyy/MM/dd'
select
format(the_date,@format),
sum(myfield)
from mytable
group by format(the_date,@format)
order by format(the_date,@format) desc;
언급URL : https://stackoverflow.com/questions/7417017/sql-server-group-by-datetime-ignore-hour-minute-and-a-select-with-a-date-and-sum
반응형
'it-source' 카테고리의 다른 글
엔티티 프레임워크를 "준비"하는 방법은 무엇입니까?언제 추워집니까? (0) | 2023.04.26 |
---|---|
Angular에서 로컬 스토리지를 사용하는 방법 (0) | 2023.04.26 |
WPF/C#: 사용자 기본 설정 파일을 어디에 저장해야 합니까? (0) | 2023.04.21 |
POI를 통한 Excel 시트 헤더 필터 설정 (0) | 2023.04.21 |
iPhone의 MAC 주소를 프로그래밍 방식으로 취득하려면 어떻게 해야 합니까? (0) | 2023.04.21 |