나는 2 개의 테이블과 사용자를 가지고 있으며 다음과 같습니다. 다음 테이블에는 status라는 열이 있습니다. 각 사용자가 상태별로 그룹화하는 횟수를 계산하고 싶습니다.내부에 카운트를 가진 mysql group_concat?
아래 쿼리는 각 사용자의 각 상태 유형에 대한 레코드를 반환합니다. 같은
SELECT users.name as user_name, f.status, count(f.id)
FROM users
JOIN application_follows f ON f.user_id = users.id
GROUP BY users.id, f.status
ORDER BY users.id
반환 뭔가 :
user_name status count
mike new 10
mike old 5
tom new 8
tom old 9
하지만 난 더 친화적 같은 것을 싶습니다
user_name status_count
mike new,10|old,5
tom new,8|old,9
는 GROUP_CONCAT를 사용하여 계산하지만 didnt 한 작업을 시도했다. 모든 단서? 내가 전체 테이블 정의를 너무 모르는
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
이봐 요, 고마워요. –