首页 > 解决方案 > 将 COUNT 与 CASE 一起使用,如何对结果列进行排序?

问题描述

我有以下代码:

SELECT COUNT(CASE WHEN Title LIKE '%Superintendent%' THEN 1 END) AS 'Bob',
       COUNT(CASE WHEN Title LIKE '%Machine%' THEN 1 END) AS 'Control',
       COUNT(CASE WHEN Title LIKE '%Estimator%' THEN 1 END) AS 'Estimator'
FROM pants;

当前结果如下所示:

Bob   Control   Estimator
230   550       1243

相反,我希望查询的结果视图具有降序排列的列:Estimator --> Control --> Bob

标签: mysqlsqlmysql-workbench

解决方案


不建议动态地弄乱结果集中列的顺序。相反,查询应该有一个具有高度可预测(理想情况下是静态)列集的结果集。

我建议对列重新排序是在数据库返回结果集之后呈现该结果集的工作。


推荐阅读