Mysql 组_concat()未根据数据排序
排序后的数据是我想要的,我不是从这个ORDERBY子句中得到它,而是添加到这个语句中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
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
insideGROUP\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
中。