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

mysql group_concat med en optælling indeni?

Du skal bruge GROUP BY to gange, først på (user_id, status) fra følger for at få optællinger derefter på user_id fra sammenføjet tabel til 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


  1. implodering af en liste til brug i en python MySQLDB IN-klausul

  2. Drop Time i DateTime

  3. Den angivne nøgle var for lang; max nøglelængde er 767 bytes Mysql-fejl i Entity Framework 6

  4. PERIOD_DIFF() Eksempler – MySQL