[英]mysQL group_concat from multi table and count
我试图将单表转换为多表提取单表,这是完美的工作,但多表提取给出了错误。 请任何人都可以帮忙
db-fiddle单表可以完美工作https://www.db-fiddle.com/f/mTHmv2idQwkdPZSqmRPi2Z/4
但是我做的这张多桌子怎么了? https://www.db-fiddle.com/f/eUAUt53neNMBsnP1QxjzGJ/5
我希望下面的输出与小提琴我提到的单表相同。 你可以检查小提琴。
|---------------------|------------------| | SELLER | status | |---------------------|------------------| | S1 |C3 :3,C1 :2,C2 :2 | |---------------------|------------------| | S2 |C3 :1,C1 :2,C2 :1 | |---------------------|------------------|
您获得比预期更多的记录的原因是由于查询中具有多个联接。
请尝试以下方法。 这应该只返回给您:
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)
。 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.