mysql - 将 COUNT 与 CASE 结合使用,如何对结果列进行排序?

标签 mysql sql mysql-workbench

我有以下代码:

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

相反,我希望查询生成的 View 中的列按降序排列:Estimator --> Control --> Bob

最佳答案

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

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

关于mysql - 将 COUNT 与 CASE 结合使用,如何对结果列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897726/

相关文章:

php - 需要帮助为 MySQL 条目分配 ID 号

MySQL:使用 LOAD DATA 按时间导入数据(字符串)

mysql - 通过连接 7 个表创建 SQL View

mysql insert multiple rows是数据被部分保存

mysql - 输出同一 SQL 表中不同列的不同行

php - 如果为空则显示提交按钮

mysql - 如何获取mysql中max字段对应的id

PHP:如何分析搜索表达式并检索值?

mysql - 使用通配符跨两列查找 MySQL 近重复项

MySQL Workbench 需要很长时间才能运行 2GB 的 SQL 脚本