mysql - MYSQL:如何对数字 DESC 进行排序,加值最高
问题描述
我需要一些帮助来使用纯 MYSQL 创建期望输出。我的问题是 By fire SQL 下面:
SELECT
r.questions_id
,r.Empty_Peg_Count AS 'Empty_Pegs'
FROM
Training_Core.results AS r
ORDER BY
CAST(r.Empty_Peg_Count AS SIGNED INTEGER) DESC;
我得到以下输出:
Array
(
[0] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 2
)
[1] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 2+
)
[2] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 1
)
)
我希望将+号作为高优先级的值,它应该首先显示。我想要的输出如下:
Array
(
[0] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 2+
)
[1] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 2
)
[2] => Array
(
[questions_id] => 256332653
[Empty_Pegs] => 1
)
)
谁能帮助我如何通过 SQL 查询获得此结果?
感谢提前!
解决方案
您可以使用第二order by
条规则:
ORDER BY
CAST(r.Empty_Peg_Count AS SIGNED INTEGER) DESC
,r.Empty_Peg_Count LIKE '%+%' DESC;
这会将带有 a 的条目推+
到顶部。
推荐阅读
- android - 使用 AsyncTask 为 xmlpullparser 获取 XML
- c# - x 轴上的经过时间 - 图表控件
- python - 如何将大量 .jpg、.png 等图像写入单个文件?
- android - 有什么方法可以在更改之前在回收站视图中操作项目
- mysql - 日期 + 3 个月间隔 mysql 列
- knockout.js - Knockout js在第二次绑定后保持显示/隐藏元素
- php - Solr 将索引的 Documents 值存储在数组中
- azure - 如何使用 PowerShell 验证 Azure 资源命名约定
- java - 什么是 TypeScript 等价于 ParentClass.this
- sql - 使用 sql server 将行转换为列