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

mysql group_concat mit einer Zählung drin?

Sie müssen GROUP BY zweimal verwenden, zuerst auf (user_id, status) von folgt, um Zählungen zu erhalten, dann auf user_id von der verknüpften Tabelle bis concat:

SELECT users.name, GROUP_CONCAT( CONCAT(f.status, ',', f.cnt) SEPARATOR '|' )
FROM users 
JOIN
( SELECT user_id, status, count(id) AS cnt
  FROM application_follows
  GROUP BY user_id, status ) f
ON f.user_id = users.id
GROUP BY users.id