일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- matplot
- vscode
- 텐서플로우
- 티스토리 초대장
- PYTHON MSSQL
- MEAN Stack
- M2M
- django
- Serial
- MSSQL PYTHON
- MX Component
- c#
- pymssql
- tensorflow
- 딥러닝
- scrapy
- 크롤링
- 윈도우10
- MSSQL
- oracle
- rs422
- 오라클
- Visual Studio Code
- Python
- 장고
- windows10
- 자본주의
- 파이썬
- sql developer
- rs485
Archives
- Today
- Total
안까먹을라고 쓰는 블로그
[MSSQL] 순차 합계구하기 (Feat. OVER, PARTITION BY) 본문
반응형
조회 프로시저를 작성하다보면, 데이터의 순차적인 합계가 필요한 경우가 있다.
Ex) 누적되는 재고를 각각 보고 싶다고 요청하는 경우 등..
원본테이블
SELECT DT_ORDER,
CD_ITEM,
QT_ORDER
FROM [NEOE].[ORDER]
ORDER BY DT_ORDER, CD_ITEM
사용방법
SUM([합계구할 컬럼]) OVERT PARTITION BY [그룹지을 컬럼들..] ORDER BY [정렬할 컬럼들..]
※ SUM 으로 되어있는 부분은 다른 집계함수(AVG, COUNT, MIN, MAX) 로도 변경 가능합니다.
순번을 매길때는 SUM([합계구할 컬럼]) 을 ROW_NUMBER() 로 변경하여 사용 가능합니다.
사용예제
SELECT DT_ORDER,
CD_ITEM,
QT_ORDER,
SUM(QT_ORDER) OVER(PARTITION BY DT_ORDER, CD_ITEM ORDER BY DT_ORDER, CD_ITEM) AS 'SUM_QT_ORDER'
FROM [NEOE].[ORDER]
조건 별 결과 값
PARTITION BY, ORDER BY 의 컬럼 값에 따라 조회되는 데이터 및 순서가 변경 되니, 원하는 결과값에
맞게 조회하면 될것 같다!!
좀더 디테일 한 Syntax 및 사용법은 아래의 MS공식사이트를 참고하시기 바랍니다.
ROWS 절을 사용하여, 계산할 행의 구간을 지정해 줄 수도 있습니다.
이부분은 아래의 MS공식사이트에서 확인하시기 바랍니다.
https://learn.microsoft.com/en-us/sql/t-sql/queries/select-over-clause-transact-sql?view=sql-server-ver16
끝
반응형
'DataBase > MS SQL' 카테고리의 다른 글
[MSSQL] 예외처리 (TRY, CATCH) (0) | 2023.10.13 |
---|---|
[MSSQL] 트랜잭션(Transaction) (0) | 2023.09.26 |
[MSSQL] 집계함수 (GROUP BY, ROLLUP, CUBE, GROUPING SETS) (0) | 2023.09.21 |
[MSSQL] 오래걸리는 쿼리내역 조회 (0) | 2023.05.03 |
[MSSQL] 프로시저 - 구간 별 성능체크 (0) | 2023.01.06 |
Comments