【问题标题】:mysQL group_concat from multi table and count来自多表和计数的 mysql group_concat
【发布时间】:2019-08-09 09:12:12
【问题描述】:

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

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

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

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

|----------------------|------------------| |卖家 |状态 | |----------------------|------------------| | S1 |C3:3,C1:2,C2:2 | |----------------------|------------------| | S2 |C3:1,C1:2,C2:1 | |----------------------|------------------|

【问题讨论】:

  • 已更新。我最初尝试过......有一些错误,我认为可能是格式不正确,但这次让我添加了。
  • @raj 目前我正在像这个小提琴db-fiddle.com/f/eUAUt53neNMBsnP1QxjzGJ/2 一样退出,这是错误的

标签: mysql database mariadb group-concat multi-table


【解决方案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 的计数,您应该在您的选择子句中包含 count(cid)。希望这会有所帮助!

【讨论】:

  • 现在工作!!!!谢谢拉杰。哦,我得到了错误,我不得不在最上面的选择中使用不同的变量,并在最下面的分组中使用......这是错误的。当我不得不使用卖家时,我正在使用数据库表变量名....cases.SELLER。
猜你喜欢
  • 2014-05-25
  • 2011-06-14
  • 2017-12-19
  • 1970-01-01
  • 2019-04-28
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
相关资源
最近更新 更多