본문 바로가기

SQL3

SQL Server - 그룹별 행 데이터 병합 / 구분자로 Merge 하기 ## 네이버 블로그에 포스팅한 내용 옮겨오기   SQL Server에서 행 데이터 합치는 법 (구분자로 Merge하는법)  1. STRING_AGGSELECT STRING_AGG([Merge할 컬럼명], '구분자') WITHIN GROUP(ORDER BY [정렬 컬럼명]) -- 정렬 필요한 경우 WITHIN GROUP절 사용FROM [테이블명]GROUP BY [그룹 컬럼명]-- 예시: Product 테이블에서 ProductName 컬럼을 seq 순서로 정렬 후 |로 구분하여 OrderID별로 합치기SELECT STRING_AGG(ProductName, '|') WITHIN GROUP(ORDER BY seq) FROM ProductGROUP BY OrderID   2. FO.. 2024. 5. 3. 13:03
SQL Server - 데이터 중복제거 및 정렬 동시에 하기 ## 네이버 블로그에 포스팅한 내용 옮겨오기  SQL Server에서 중복제거 및 정렬 동시에 하기 중복제거로 자주쓰는 DISTINCT 키워드와 정렬문인 ORDER BY절에 오는 정렬 컬럼이 상이해서 같이 쓰기 곤란한 경우 ROW_NUMBER ~ PARTITION BY 절을 사용해보자.  SELECT ROW_NUMBER() OVER (PARTITION BY [중복제거컬럼] ORDER BY [정렬컬럼])FROM [테이블명] -- 예시: Product 테이블에서 ProductID, seq 컬럼으로 중복제거 후 OrderDate 순서로 정렬하기SELECT ProductID , seq , OrderDate , ROW_NUMBER() OVER (PARTITION BY ProductID,.. 2024. 5. 3. 13:00
SQL Server 변수에 SELECT 쿼리 결과 저장 SELECT 쿼리 결과를 변수에 저장 방법 1. 결과 행수 저장이 필요한 경우 @@ROWCOUNT 사용 SELECT @cnt = @@ROWCOUNT 방법 2. SELECT 절에서 변수에 할당 SELECT @cnt = log_cnt FROM Logdb.dbo.log_dtl WHERE log_id = 1 방법 3. 2번 방법의 쿼리를 SET절에 입력 SET @cnt = ( SELECT log_cnt FROM Logdb.dbo.log_dtl WHERE log_id = 1 ) 참고자료 https://itworldyo.tistory.com/180 2024. 4. 4. 22:20