> 데이터 베이스 > MySQL 튜토리얼 > 그룹화된 문자열 집계에 SQL Server의 STRING_AGG 함수를 어떻게 사용할 수 있습니까?

그룹화된 문자열 집계에 SQL Server의 STRING_AGG 함수를 어떻게 사용할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-23 20:38:15
원래의
836명이 탐색했습니다.

How Can SQL Server's STRING_AGG Function Be Used for Grouped String Aggregation?

그룹화된 문자열 집계: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿