집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 STRING_AGG를 사용하여 고유한 쉼표로 구분된 값을 얻는 방법은 무엇입니까?
SQL Server에서 STRING_AGG를 사용하여 고유 값 가져오기
문제:
STRING_AGG 함수 사용 을 사용하면 열에서 쉼표로 구분된 값을 검색할 수 있습니다. 그러나 결과에는 중복이 포함될 수 있습니다. 출력에서 고유한 값만 가져오려면 어떻게 해야 합니까?
쿼리:
다음 쿼리는 STRING_AGG를 사용하여 고유한 값을 가져옵니다.
SELECT ProjectID, STRING_AGG(DISTINCT newID.value, ',') WITHIN GROUP (ORDER BY newID.value) AS NewField FROM [dbo].[Data] WITH (NOLOCK) CROSS APPLY STRING_SPLIT([bID], ';') AS newID WHERE newID.value IN ('O95833', 'Q96NY7-2') GROUP BY ProjectID ORDER BY ProjectID
설명:
DISTINCT 키워드 하위 쿼리에서는 결과 집합에서 중복 값을 제거합니다. CROSS APPLY 연산자는 STRING_SPLIT 함수를 사용하여 bID 열을 개별 값으로 분할합니다. 그런 다음 STRING_AGG 함수는 이러한 값을 쉼표로 구분된 문자열로 연결하고 ORDER BY 절은 연결 전에 값이 정렬되도록 합니다.
출력:
최종 출력에는 각 ProjectID에 대한 고유 값만 표시됩니다.
ProjectID NewField ------------------------------- 2 O95833, Q96NY7-2 4 Q96NY7-2
위 내용은 SQL Server에서 STRING_AGG를 사용하여 고유한 쉼표로 구분된 값을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!