반응형
이것은 내 테이블입니다.
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
반응형
'MySql' 카테고리의 다른 글
MySQL 오늘 날짜가 발생하는지 어떻게 확인합니까? (0) | 2020.12.28 |
---|---|
MySQL MYSQL 값을 기반으로 특정 색상으로 셀 PHP 강조 (0) | 2020.12.28 |
MySQL mysql이 내 localhost에서 서비스를 시작할 수 없습니다. (0) | 2020.12.28 |
MySQL PHP로 MySQL에 사용자가 이미 존재하는지 확인하는 방법 (0) | 2020.12.28 |
MySQL PHP 오류 : 최대 함수 중첩 수준 '100'에 도달하여 중단 중 (0) | 2020.12.28 |
댓글