排序数据是我想要的,我不会从这个声明的order by子句中获得它。
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`;
此group_concat
为total_pass_pc
生成的结果是有序的
0 11.1111111 80 33.33333 ........未分类
我想对它进行排序0 11.11111 33.333333 80 ......排序顺序
这是其结果的屏幕截图
答案 0 :(得分:0)
您需要定义一个GROUP BY
子句,以便在选择数据时,记录将相对于此列名称进行分组。要对其进行排序,您可以在ORDER BY
内使用GROUP_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;