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)
。希望这对您有所帮助!
我尝试将单个 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)
。希望这对您有所帮助!