Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die Abfrage mit group_concat gibt nur eine Zeile zurück

Weil Sie GROUP BY nicht verwendet haben Klausel in Ihrer Abfrage. Bei Verwendung von Aggregatfunktionen wie GROUP_CONCAT Sie müssen der Datenbank mitteilen, mit welcher Spalte Ihre Daten kombiniert werden sollen.

Derzeit gruppiert Ihre Abfrage alle Datensätze und gibt 1 Datensatz in der Ausgabe aus.

Wenn Sie GROUP BY users.userid hinzufügen In der Abfrage werden die Datensätze dann nach eindeutigen Benutzer-IDs gruppiert. Ich habe Ihre Geige aktualisiert und sie gibt jetzt 2 Datensätze:http://www.sqlfiddle. com/#!2/867f6/18

Bitte beachten Sie:In Standard-SQL-Abfragen sollten die in der GROUP BY-Klausel aufgeführten Spalten mit der Spalte in der SELECT-Klausel übereinstimmen (mit Ausnahme der Aggregatfunktionen).