组_concat中的MySql计数

组_concat中的MySql计数,mysql,sql,Mysql,Sql,我正在尝试创建一个查询,该查询将返回一个表,如下所示: dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 dayName,状态1,状态2,状态3 基本上,我有一个表,用户可以在其中输入案例。每个案例都有以下字段(datedCreated、status) 有三(3)种可能的状态(新建、进展、关闭) 因此,我想检

我正在尝试创建一个查询,该查询将返回一个表,如下所示:

  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • dayName,状态1,状态2,状态3
  • 基本上,我有一个表,用户可以在其中输入案例。每个案例都有以下字段(datedCreated、status)

    有三(3)种可能的状态(新建、进展、关闭)

    因此,我想检索每天每个状态的编号

    每一行看起来都像这样:

  • 星期一,8,3,2
  • 二○○二年三月八日(星期二)
  • 星期三,8,3,2
  • 我有些东西看起来像这样,但似乎无法让它工作

    SELECT DAYNAME(dateAdded)AS Date, COUNT(status) AS Count, GROUP_CONCAT(CONCAT(status, ',', "54") SEPARATOR ',' ) AS Text FROM clients GROUP BY DATE(dateAdded) ORDER BY dateAdded LIMIT 7
    
    我知道现在我有三个列,但我需要在一个列中

    提前感谢您的帮助。

    试试:

    SELECT concat(
           DAYNAME(dateAdded),', '
           sum(case when status = 'new' then 1 else 0 end),','
           sum(case when status = 'progress' then 1 else 0 end),','
           sum(case when status = 'closed' then 1 else 0 end)) as single_col
      FROM clients
     GROUP BY DATE(dateAdded)
     ORDER BY dateAdded
    

    为什么不去看看结果呢

    SELECT
        GROUP_CONCAT(t_date, t_new, t_progress, t_closed) AS 'Status Per Day'
    FROM
    (   SELECT 
            DAYNAME(dateAdded)AS t_date,
            SUM(status = 'new') t_new, 
            SUM(status = 'progress') t_progress,
            SUM(status = 'closed') t_closed 
        FROM clients 
        GROUP BY DATE(dateAdded) 
        ORDER BY dateAdded LIMIT 7
    ) t
    GROUP BY t_date
    

    感谢您的回答,查询在每次求和后都缺少逗号(否则它将无法运行),但即使如此,结果仍然无法读取。我得到的结果是:4D6F6E64611792C302C312C31、547565736461792c312c302c31、5765646E655736461792C302C312C30。它似乎返回[BLOB-69 B]@onlymushu oops抱歉,忘记了通过添加组。。现在试试看。