mes*_*cka 11 mysql sql count group-concat
这是我的表:
id fk_company
1 2
2 2
3 2
4 4
5 4
6 11
7 11
8 11
9 12
Run Code Online (Sandbox Code Playgroud)
我想要的结果应该是字符串"3,2,3,1",因为这只是我的复杂查询字符串的一部分.
我试图使用这个查询:
SELECT GROUP_CONCAT(COUNT(id) SEPARATOR ", ")
FROM `table` GROUP BY fk_company;
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误:
错误号码:1111
组功能的使用无效
我有一种感觉COUNT,MAX,MIN或SUM不能在GROUP_CONCAT中使用.如果是这样,你知道另一种方法吗?
pet*_*erm 13
你需要COUNT()用GROUP BY在内部首先选择,然后应用GROUP_CONCAT()
SELECT GROUP_CONCAT(cnt) cnt
FROM
(
SELECT COUNT(*) cnt
FROM table1
GROUP BY fk_company
) q
Run Code Online (Sandbox Code Playgroud)
输出:
| CNT | ----------- | 3,2,3,1 |
这是SQLFiddle演示