GROUP_CONCAT-Funktion in SQLite
Dieser Artikel beschreibt die Verwendung und Implementierung der GROUP_CONCAT-Funktion in SQLite, um Datengruppierung und -verkettung zu erreichen.
Einführung
Angenommen, Sie haben eine Tabelle mit den Spalten _id und Name und die Daten werden wie folgt gespeichert:
1 A 1 B 1 C 1 D 2 E 2 F 3 G 3 H 3 I 3 J 3 K
Um das gewünschte Ergebnis zu erhalten , wobei jede eindeutige _id eine verkettete Liste zugeordneter Namenswerte hat, wie unten dargestellt:
1 A,B,C,D 2 EF
Die Funktion GROUP_CONCAT kann verwendet werden, um dies zu erreichen.
Implementierung
Bei der bereitgestellten Abfrage ist ein kleines Problem aufgetreten. Um die Funktion GROUP_CONCAT korrekt zu implementieren, müssen Sie:
Daher ist die überarbeitete Abfrage, die die gewünschte Ausgabe erzeugt :
SELECT AI._id, GROUP_CONCAT(Name) AS GroupedName FROM ABSTRACTS_ITEM AI JOIN AUTHORS_ABSTRACT AAB ON AI._id = AAB.ABSTRACTSITEM_ID JOIN ABSTRACT_AUTHOR AAU ON AAU._id = AAB.ABSTRACTAUTHOR_ID GROUP BY AI._id;
Alternative Syntax
Alternativ können Sie die Abfrage auch wie folgt strukturieren:
SELECT ID, GROUP_CONCAT(NAME) FROM (select ABSTRACTS_ITEM._id AS ID, Name from ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT where ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID and ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID) GROUP BY ID;
Diese alternative Syntax bereitet zunächst a Unterabfrage, um die erforderlichen Daten abzurufen, und wendet dann die Funktion GROUP_CONCAT auf das Ergebnis an.
Fazit
Durch die Verwendung der Funktion GROUP_CONCAT in SQLite in Verbindung mit der JOIN-Operation und GROUP Mit der BY-Klausel können Sie Werte innerhalb einer Ergebnismenge effektiv gruppieren und verketten.
Das obige ist der detaillierte Inhalt vonWie kombiniere ich mit GROUP_CONCAT mehrere Werte zu einer einzelnen Zeichenfolge in SQLite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!