Mysql
 sql >> Database >  >> RDS >> Mysql

mysql group_concat con un conteggio all'interno?

È necessario utilizzare GROUP BY due volte, prima su (user_id, status) dai seguenti per ottenere i conteggi, quindi su user_id dalla tabella unita per concatenare:

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