来自多表和计数的mysQL group_concat

问题描述 投票:0回答:1

我试图将单表转换为多表提取单表,这是完美的工作,但多表提取给出错误。请任何人都可以帮忙

db-fiddle单表是完美的https://www.db-fiddle.com/f/mTHmv2idQwkdPZSqmRPi2Z/4

但是我在这个多表中出了什么问题? qazxsw poi

我希望下面的输出与小提琴我提到的单表相同。你可以检查小提琴。

|---------------------|------------------|
|      SELLER         |    status        | 
|---------------------|------------------|
|          S1         |C3 :3,C1 :2,C2 :2 | 
|---------------------|------------------|
|          S2         |C3 :1,C1 :2,C2 :1 |
|---------------------|------------------|
mysql database mariadb group-concat multi-table
1个回答
0
投票

您获得的记录数超出预期的原因是因为查询中存在多个连接。

请尝试以下方法。这应该只返回给你:

https://www.db-fiddle.com/f/eUAUt53neNMBsnP1QxjzGJ/5

如果您需要客户ID的计数,则应将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; 包含在您的select子句中。希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.