mysQL group_concat 来自 multi table 并计数

mysQL group_concat from multi table and count

我尝试将单个 table 提取转换为多个 table 提取 单个 table 工作完美,但多个 table 提取出错。请任何人帮助

db-fiddle single table 工作完美 https://www.db-fiddle.com/f/mTHmv2idQwkdPZSqmRPi2Z/4

但是我做的这个 multi table 有什么问题吗??? https://www.db-fiddle.com/f/eUAUt53neNMBsnP1QxjzGJ/5

我希望下面的输出与 fiddle 我提到的单个 table 相同。你可以检查 fiddle .

|---------------------|------------------|
|      SELLER         |    status        | 
|---------------------|------------------|
|          S1         |C3 :3,C1 :2,C2 :2 | 
|---------------------|------------------|
|          S2         |C3 :1,C1 :2,C2 :1 |
|---------------------|------------------|

您获得比预期更多记录的原因是您在查询中有多个联接。

尝试以下操作。这应该 return 对你来说只是:

select seller, group_concat(cid,' :', cnt  SEPARATOR ',') 
from
(SELECT  cases.SELLER, cases_cstm.customerid as cid, COUNT(*) as cnt FROM 
cases, cases_cstm WHERE cases.id=cases_cstm.id_c GROUP BY  cases.SELLER, 
cases_cstm.CUSTOMERID) q
group by seller;

如果您需要客户 ID 的计数,您应该在 select 子句中包含 count(cid)。希望这对您有所帮助!