Heim > Datenbank > MySQL-Tutorial > Wie eliminiere ich Duplikate bei der Verwendung von STRING_AGG in SQL Server?

Wie eliminiere ich Duplikate bei der Verwendung von STRING_AGG in SQL Server?

Linda Hamilton
Freigeben: 2025-01-04 07:51:35
Original
611 Leute haben es durchsucht

How to Eliminate Duplicates When Using STRING_AGG in SQL Server?

Eliminieren von Duplikaten in STRING_AGG-Ergebnissen

Die Aufgabe besteht darin, eindeutige Werte mithilfe der STRING_AGG-Funktion in SQL Server abzurufen und sicherzustellen, dass doppelte Elemente entfernt werden .

In der bereitgestellten Beispielabfrage wird die Funktion STRING_AGG verwendet, um Zeichenfolgen zu a zu verketten einzelnes durch Kommas getrenntes Feld, gruppiert nach Projekt-ID. Das resultierende NewField enthält jedoch doppelte Werte.

Um ein eindeutiges NewField zu erhalten, können wir das Schlüsselwort DISTINCT innerhalb einer Unterabfrage verwenden. Die aktualisierte Abfrage lautet:

SELECT 
  ProjectID
, STRING_AGG(value, ',') WITHIN GROUP (ORDER BY value) AS 
  NewField
FROM (
  SELECT DISTINCT 
    ProjectID
  , newId.value 
  FROM [dbo].[Data] WITH (NOLOCK)  
  CROSS APPLY STRING_SPLIT([bID],';') AS newId  
  WHERE newId.value IN (   'O95833' , 'Q96NY7-2'  )  
) x
GROUP BY ProjectID
ORDER BY ProjectID
Nach dem Login kopieren

Die Unterabfrage wählt zunächst die unterschiedlichen Werte von ProjectID und newId.value aus der Originaltabelle aus. Diese unterschiedlichen Werte werden dann in der äußeren Abfrage verwendet, um die STRING_AGG-Operation auszuführen, um sicherzustellen, dass im endgültigen NewField-Ergebnis keine Duplikate vorhanden sind.

Das Ausführen dieser geänderten Abfrage liefert die gewünschte Ausgabe nur mit eindeutigen Werten:

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

Das obige ist der detaillierte Inhalt vonWie eliminiere ich Duplikate bei der Verwendung von STRING_AGG in SQL Server?. 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