Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql group_concat với số lượng bên trong?

Bạn cần sử dụng GROUP BY hai lần, đầu tiên vào (user_id, trạng thái) từ sau để nhận số lượng, sau đó trên user_id từ bảng đã tham gia thành 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực thi một tập lệnh php trong javascript?

  2. Lỗi câu lệnh chuẩn bị sẵn mysql:MySQLSyntaxErrorException

  3. Cho phép người dùng tạo và thay đổi bảng?

  4. Kích thước tối đa của chỉ mục DUY NHẤT trong MySQL

  5. Spring, Hibernate, Blob lazy loading