>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 STRING_AGG를 사용하여 고유한 쉼표로 구분된 값을 얻는 방법은 무엇입니까?

SQL Server에서 STRING_AGG를 사용하여 고유한 쉼표로 구분된 값을 얻는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-03 10:22:39889검색

How to Get Unique Comma-Separated Values Using STRING_AGG in SQL Server?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.