mysql - SQL ORDER 字符串(NumberOrder/Year)

标签 mysql sql sorting

我将此字符串作为 VARCHAR 保存到 MySQL 数据库,如下所示(NumberOrder/CurrentYear) 示例:1/2014、2/2014、15/2014、635/2014、1/2013、5/2013....等

在将数据检索到表中时,我想按顺序对数据进行排序,如下所示: 1/2013、5/2013、1/2014、2/2014、15/2014、635/2014 ...等

我尝试了这个查询:

SELECT * FROM `tableX` ORDER BY n_inscription ASC

但是没用...

注意:我也有这样的字符串:01/2014、06/2013、02/2014、05/2014...等

最佳答案

SELECT * FROM `tableX` 
ORDER BY right(n_inscription, 4) * 1,
         substring_index(n_inscription, '/', 1) * 1

SQLFiddle demo

关于mysql - SQL ORDER 字符串(NumberOrder/Year),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26213821/

相关文章:

php - 为什么我可以在 phpmyadmin 中运行查询,但不能在 PHP 中运行查询

sql - 排除 WHERE 子句中的空白值和空值

algorithm - 什么时候简单排序比 'complex' 排序快?

php - .NET Framework 中的 mysql_real_escape_string()

mysql - 如何让这个查询正确?

php - 需要帮助理解 Magento 产品集合对象和目录/产品模型

mysql - 获取长文本mysql的日期名称

mysql 选择 id 不在

c++ - 基于类中的变量对 vector 进行排序

java - 如何检索文本文件中的特定字符串并根据字符串中的元素进行排序?