mysql - 如何根据字符串列按 desc 顺序对数据进行排序?

标签 mysql sql

我正在尝试从我的数据库中获取按降序排列的数据列表。但它没有给出我想要的结果。

  • 表名: testing
  • 列名: id(pk), fiscal_no

我的查询是: 选择 * FROM `testing` ORDER BY fiscal_no DESC

对于这个查询,我得到这个结果

enter image description here

但我想要的结果应该是 fiscal_no 像这样基于 fiscal_no 最后一个数

enter image description here

这种结果有查询吗?

最佳答案

SYN#JOB#FEB实际上是降序在SYN#JOB#JAN之前。

您应该考虑使用 SUBSTRING 函数(或有时 SUBSTR)从 fiscal_no 列的第 13 个字符开始排序。

如果您使用 MySQL,这里是 ref .排序语句应该是:

ORDER BY SUBSTRING(fiscal_no, 13) DESC

关于mysql - 如何根据字符串列按 desc 顺序对数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567821/

相关文章:

mysql - 重新排序/重置自动增量主键

MySQL/经典 ASP - 记录数

sql - MySQL TableView 限制

mysql - SQL查询问题

Mysql更新子查询的if条件如何

mysql - 将数据从 EBS 移动到临时存储会提高 MySQL 查询性能吗?

php - Symfony2 Doctrine : How to disable mysql connection?

mysql - Sql - 比较两个表时数据引用不存在

mysql - Ubuntu : SQL time is not the same as current OS timezone

mysql - mysql内连接不明确