Heim > Datenbank > MySQL-Tutorial > Wie erhalte ich mit STRING_AGG in SQL Server eindeutige durch Kommas getrennte Werte?

Wie erhalte ich mit STRING_AGG in SQL Server eindeutige durch Kommas getrennte Werte?

Linda Hamilton
Freigeben: 2025-01-03 10:22:39
Original
936 Leute haben es durchsucht

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

Eindeutige Werte mit STRING_AGG in SQL Server abrufen

Problem:

Verwendung der Funktion STRING_AGG können Sie durch Kommas getrennte Werte aus einer Spalte abrufen. Die Ergebnisse können jedoch Duplikate enthalten. Wie erhalten Sie nur die eindeutigen Werte in der Ausgabe?

Abfrage:

Die folgende Abfrage verwendet STRING_AGG, um die eindeutigen Werte abzurufen:

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
Nach dem Login kopieren

Erklärung:

Das Schlüsselwort DISTINCT in der Unterabfrage eliminiert doppelte Werte aus die Ergebnismenge. Der CROSS APPLY-Operator teilt die bID-Spalte mithilfe der Funktion STRING_SPLIT in einzelne Werte auf. Die Funktion STRING_AGG verkettet diese Werte dann zu einer durch Kommas getrennten Zeichenfolge und die ORDER BY-Klausel stellt sicher, dass die Werte vor der Verkettung sortiert werden.

Ausgabe:

Das Finale Die Ausgabe zeigt nur die eindeutigen Werte für jede Projekt-ID an:

ProjectID   NewField
-------------------------------
2           O95833, Q96NY7-2
4           Q96NY7-2
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit STRING_AGG in SQL Server eindeutige durch Kommas getrennte Werte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage