sql >> Databasteknik >  >> RDS >> Mysql

mysql group_concat med en räkning inuti?

Du måste använda GROUP BY två gånger, först på (user_id, status) från följer för att få räkningar sedan på user_id från sammanfogad tabell till 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. Hur får man tillbaka alla privilegier till root-användaren i MySQL?

  2. Ändra MySQL standardteckenuppsättning till UTF-8 i my.cnf?

  3. Ett tabellnamn som en variabel

  4. inmatningstyp textfält som ger fixat fel 2147483647