繁体   English   中英

使用 group_concat 的 SQL,其中包含每个连接项目的计数,而不是一行中的总计数

[英]SQL using group_concat with count of each concatenated item rather total count in a row

MYSQl - Group_Concat 内的元素计数

我把它改写为这个小提琴,但它给出了错误。

任何人都可以帮忙吗?

就问题而言,要解决错误并获得正确的结果,您只需要从聚合子查询中返回CUSTOMERID (该列已经是GROUP BY子句的一部分)。

更新的查询:

 SELECT SELLER, 
       COUNT(*) as COUNT_OF_CUSTIDS,
       GROUP_CONCAT(CUSTOMERID, ' (', cnt, ')' SEPARATOR '|') AS CUSTIDS
FROM (
    SELECT SELLER, CUSTOMERID, COUNT(*) as cnt
    FROM docs
    GROUP BY SELLER, CUSTOMERID
) t
GROUP BY SELLER
HAVING COUNT(*) > 1

返回:

| SELLER | COUNT_OF_CUSTIDS | CUSTIDS              |
| ------ | ---------------- | -------------------- |
| S1     | 3                | C2 (2)|C1 (2)|C3 (3) |
| S2     | 3                | C3 (1)|C2 (1)|C1 (2) |

DB Fiddle 上的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM