Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 组_concat()未根据数据排序_Mysql_Sql_Sql Order By_Dynamic Sql - Fatal编程技术网

Mysql 组_concat()未根据数据排序

Mysql 组_concat()未根据数据排序,mysql,sql,sql-order-by,dynamic-sql,Mysql,Sql,Sql Order By,Dynamic Sql,排序后的数据是我想要的,我不是从这个ORDERBY子句中得到它,而是添加到这个语句中 SELECT GROUP_CONCAT(DISTINCT CONCAT( 'COUNT((CASE WHEN (`ltd`.`total_pass_pc` =',total_pass_pc,') THEN 1 ELSE NULL END)) AS `TC=',total_pass_pc,'`' ) )INTO @sql FROM l

排序后的数据是我想要的,我不是从这个ORDERBY子句中得到它,而是添加到这个语句中

SELECT
    GROUP_CONCAT(DISTINCT
        CONCAT(
            'COUNT((CASE WHEN (`ltd`.`total_pass_pc` =',total_pass_pc,') THEN 1 ELSE NULL END)) AS `TC=',total_pass_pc,'`'
        )
    )INTO @sql
    FROM log_tc_data
    ORDER BY `total_pass_pc`;
组浓度
总通过率
产生的结果是有序的 0 11.1111111 80 33.33333……未分类 我想排序0 11.11111 33.333333 80…排序顺序

以下是其结果的屏幕截图


您需要定义
GROUP BY
子句,以便在选择数据时,记录将相对于此列名进行分组。要对其进行排序,您可以使用
orderby
inside
GROUP\u CONCAT
试试这个:

SELECT
GROUP_CONCAT(DISTINCT CONCAT('COUNT((CASE WHEN (`ltd`.`total_pass_pc`=',total_pass_pc,') THEN 1 ELSE NULL END)) AS `TC=',total_pass_pc,'`')
  ORDER BY `total_pass_pc`)INTO @sql

FROM log_tc_data;

我不想将“order by
total\u pass\u pc
”添加到我的sql语句中,我只需要将从group\u concat by total\u pass\u pcit生成的字符串排序,它位于
group\u concat
而不是
concat
中。