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

So erhalten Sie die gezählten Werte mit einem Kommatrennzeichen als einzelnen Zeilenwert

Die gesuchte Funktion ist GROUP_CONCAT . Siehe Dokumentation:

http://dev.mysql .com/doc/refman/5.7/en/group-by-functions.html#function_group-concat

In Ihrem Beispiel können Sie einfach eine weitere Unterabfrage erstellen (Beispiel unten). Oder JOIN es in einer Standardweise zur ursprünglichen Abfrage.

...
(
      SELECT GROUP_CONCAT(gtp.id)
          FROM game_table_players gtp
          LEFT JOIN game_rounds gr ON gr.id = gtp.game_round_id
      WHERE gt.id = gtp.game_table_id
          AND gtp.quit<>1 AND gr.finish=0
) AS players,
...

Beachten Sie den Kommentar zu NULL Handhabung in GROUP_CONCAT . Wenn Sie Nullen anzeigen möchten, wenn keine Spieler anwesend sind, können Sie COALESCE(GROUP_CONCAT(gtp.id), 0) verwenden stattdessen.