最佳答案
至于问题,要解决错误并获得正确的结果,您只需从聚合子查询中返回 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) |
关于mysql - SQL 使用 group_concat 和每个串联项的计数而不是一行中的总计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55224646/