그룹화된 문자열 집계: SQL Server의 LISTAGG 함수
SQL Server의 문자열 집계는 여러 문자열 값을 연결된 단일 문자열로 결합하는 방법을 제공합니다. 끈. 그룹화된 데이터로 작업할 때 이 기능은 쉼표로 구분된 고유 값 목록 생성과 같은 시나리오에서 매우 중요합니다.
각 자동차 제조업체 내에서 자동차 모델을 집계하려는 다음 스키마를 고려하세요.
| CarMakeID | CarMake ------------------------ | 1 | SuperCars | 2 | MehCars | CarMakeID | CarModelID | CarModel ----------------------------------------- | 1 | 1 | Zoom | 2 | 1 | Wow | 3 | 1 | Awesome | 4 | 2 | Mediocrity | 5 | 2 | YoureSettling
원하는 출력은 다음과 같습니다.
| CarMakeID | CarMake | CarModels --------------------------------------------- | 1 | SuperCars | Zoom, Wow, Awesome | 2 | MehCars | Mediocrity, YoureSettling
이 집계를 달성하기 위해 SQL Server는 몇 가지 옵션을 제공합니다. 그러나 문자열 연결에 권장되는 접근 방식은 STRING_AGG 함수를 활용하는 것입니다.
다음 수정된 쿼리는 초기 쿼리의 AGG 대신 STRING_AGG 함수를 사용합니다.
SELECT *, (SELECT STRING_AGG(CarModel, ', ') AS CarModels FROM CarModels model WHERE model.CarMakeID = make.CarMakeID GROUP BY make.CarMakeID) FROM CarMakes make
STRING_AGG 함수 열 값을 가져와 모든 고유 값을 단일 문자열로 연결하는 내장 집계 함수입니다. 선택적 SEPARATOR 매개변수를 사용하면 값 사이에 구분 기호를 지정할 수 있으며, 이 경우에는 쉼표를 선택했습니다.
이 쿼리는 CarModels 열에 쉼표로 구분된 자동차 목록이 포함된 원하는 출력을 생성합니다. 제조사별 모델입니다.
위 내용은 그룹화된 문자열 집계에 SQL Server의 STRING_AGG 함수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!