【问题标题】:Count group_concat results统计 group_concat 结果
【发布时间】:2015-06-08 11:49:51
【问题描述】:

这个问题与mysql group_concat with a count inside? 非常相似,但我不知道如何申请解决我的问题。

我有这个问题:

SELECT 
    printer AS `Copieur/Imprimante`, 
    GROUP_CONCAT(DISTINCT groupname SEPARATOR "\r\n") AS `Groupes`,
FROM `assoc` 
WHERE groupname 
    IN (SELECT * FROM wanted_groups) 
GROUP BY printer;

这给了我这个:

我想添加每个打印机组的计数,有点像

\\simp\DSI - Canon iR C4580 PCL6    |   DSI-ECRITURE (20)
                                    |   DPDSI-ECRITURE (3)
...

希望我的问题足够清楚。
谢谢

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以通过预先聚合数据以获取计数然后再次聚合以将结果转换为您想要的格式来做您想做的事情:

    SELECT printer AS `Copieur/Imprimante`, 
           GROUP_CONCAT(groupname, ' (', cnt, ')' SEPARATOR '\r\n') AS `Groupes`
    FROM (SELECT printer, groupname, COUNT(*) as cnt
          FROM `assoc`
         WHERE groupname IN (SELECT * FROM wanted_groups) 
          GROUP BY printer, groupname
         ) a 
    GROUP BY printer;
    

    【讨论】:

    • 我必须删除 1 个逗号并更正 group_name -> groupname 但这可行。非常感谢。
    • @JeanneD4RK 。 . .很高兴你想出来了。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多