반응형
Oracle SQL - 주별 데이터 합계 및 그룹화
날짜와 관련된 기록이 있습니다.
DATE AMOUNT
16.03.2013 3
16.03.2013 4
16.03.2013 1
16.03.2013 3
17.03.2013 4
17.03.2014 3
저는 하루에 어떻게 요약하는지 알고 있는데, 어떻게 주별로 요약할 수 있을까요?`
함수를 사용하여 날짜를 주의 첫 번째 요일로 자를 수 있습니다.주를 정의하는 몇 가지 방법이 있습니다.예를 들어, 만약 당신이 주의 첫 번째 날을 월요일로 취급하고 싶다면, 당신은 할 수 있습니다.IW다음과 같은 형식:
select trunc(date, 'IW') week, sum(amount)
from YourTable
group by trunc(date, 'IW');
또한TO_CHAR"@Vignesh Kumer"의 답변으로 기능합니다.
요점은 같은 주의 날짜를 하나의 값으로 잘라야 한다는 것입니다.그런 다음 값을 기준으로 그룹화합니다.바로 그겁니다.
사용해 보세요.
SELECT to_char(DATE - 7/24,'IYYY'), to_char(DATE - 7/24,'IW'),SUM(AMOUNT)
FROM YourTable
GROUP BY to_char(DATE - 7/24,'IYYY'), to_char(DATE - 7/24,'IW')
출력은 다음과 같습니다.
+-----+-------+--------+
|YEAR | WEEK | AMOUNT |
+-----+-------+--------+
|2013 | 11 | 18 |
|2013 | 13 | 3 |
+-----+-------+--------+
이것도 도움이 될 것 같습니다.
/* Weekly sum of values */
SELECT SUM( Amount ) as Sum_Amt,
DATEPART (wk, Date) as WeekNum
FROM databse_name.table_name
GROUP BY DATEPART (wk, Date)
ORDER BY WeekNum
/* Monthly sum of values */
SELECT SUM( Amount ) as Sum_Amt,
DATEPART (mm, Date) as MonNum
FROM databse_name.table_name
GROUP BY DATEPART (mm, Date)
ORDER BY MonNum
Oracle SQL을 연도 및 주 번호별로 그룹화하려면 다음을 사용합니다.
GROUP BY to_char(createddate, 'IYYY IW')
출력 예:
2022 46 2023 01
언급URL : https://stackoverflow.com/questions/25259633/oracle-sql-sum-and-group-data-by-week
반응형
'programing' 카테고리의 다른 글
| 오류: 클래스 또는 개체 정의가 필요합니다. (0) | 2023.06.21 |
|---|---|
| 유형 스크립트로 "디버그" 모듈을 사용하는 방법 (0) | 2023.06.21 |
| 함수 포인터와 컨텍스트를 예상하는 C-콜백에 C++ 람다를 전달하려면 어떻게 해야 합니까? (0) | 2023.06.21 |
| 가져온 모듈에서 전역 변수의 가시성 (0) | 2023.06.21 |
| 현대 각도에서 손자부터 조부모까지 이벤트를 발산하는 방법은 무엇입니까? (0) | 2023.06.21 |