【问题标题】:How do I use group_concat and count each record in it?如何使用 group_concat 并计算其中的每条记录?
【发布时间】:2013-06-22 04:03:24
【问题描述】:

我正在寻找一种同时使用 group_concat 和计数的方法...我希望得到这样的结果

红、红、红、红、蓝、蓝、蓝、蓝、蓝

完成后是这样的

“红色(4),蓝色(5)”

有什么建议吗?

【问题讨论】:

    标签: mysql group-concat


    【解决方案1】:

    使用子查询:concat(field, count(*)),然后相应地使用group_concat()

    【讨论】:

      【解决方案2】:
      SELECT
      GROUP_CONCAT(x.groups)
      FROM
      (
          SELECT
          CONCAT(color, '(', count(color), ')') AS groups
          FROM colors
          GROUP BY color   
      ) x
      

      【讨论】:

        【解决方案3】:
        SELECT GROUP_CONCAT(CONCAT(color, '(', amount, ')') SEPARATOR ',') AS color_with_amount
        FROM (  SELECT color, COUNT(*) AS amount
                FROM colors
                GROUP BY color) AS h
        GROUP BY '1'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-08-27
          • 1970-01-01
          • 2020-07-23
          • 2022-01-11
          • 1970-01-01
          • 1970-01-01
          • 2021-02-16
          相关资源
          最近更新 更多