본문 바로가기
MySql

MySQL GROUP_CONCAT에서 COUNT 사용

by 베이스 공부 2020. 12. 28.
반응형

이것은 내 테이블입니다.

id    fk_company
1          2    
2          2    
3          2    
4          4    
5          4    
6          11   
7          11   
8          11   
9          12

내가 원하는 결과는 "3, 2, 3, 1"문자열이어야합니다. 이것은 복잡한 쿼리 문자열의 일부일뿐입니다.

이 쿼리를 사용하려고했습니다.

SELECT GROUP_CONCAT(COUNT(id) SEPARATOR ", ")
FROM `table` GROUP BY fk_company;

하지만 오류가 발생했습니다.

오류 번호 : 1111

그룹 기능의 잘못된 사용

COUNT, MAX, MIN 또는 SUM은 GROUP_CONCAT에서 사용할 수 없습니다. 그렇다면 다른 방법을 알고 있습니까?

 

해결 방법

 

먼저 내부 선택에서 GROUP BY 와 함께 COUNT () 를 수행 한 다음 GROUP_CONCAT () 를 적용해야합니다.

SELECT GROUP_CONCAT(cnt) cnt
  FROM
(
  SELECT COUNT(*) cnt
    FROM table1
   GROUP BY fk_company
) q

산출:


 

참조 페이지 https://stackoverflow.com/questions/17463171

 

 

반응형

댓글