为了账号安全,请及时绑定邮箱和手机立即绑定

如何按子句按子句排序以正确获取具有01/2020格式的数据的记录

如何按子句按子句排序以正确获取具有01/2020格式的数据的记录

PHP
Helenr 2022-09-03 15:57:45
嗨,我有一些文件的记录,其数字为01 / 2020,02 / 2020等,我已经使用按子句顺序获取这些数字的记录,但它从01 / 2020到10 / 2020正确返回然后它向我显示100 / 2020有解决方案吗?请与我分享。
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

我的问题已通过使用ORDER BY ABS(MyField)



查看完整回答
反对 回复 2022-09-03
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

如果我的假设是正确的,即此记录的格式是正确的,那么您需要按顺序提取要包含的年份。请考虑下面的示例。running_no/year


如果数据如下所示:


+----------+

|   Value  |

+----------+

| 01/2020  |

| 02/2020  |

| 10/2020  |

| 100/2020 |

| 01/2021  |

| 10/2021  |

+----------+

因此,后面的4位数字表示连续年份,然后您可以通过几种方式从if中提取年份。在这里,我展示了两个使用和的示例。RIGHT()SUBSTRING_INDEX()


example 1:

SELECT * FROM table ORDER BY RIGHT(Value,4) ASC, ABS(Value) ASC;


example 2:

SELECT * FROM table ORDER BY SUBSTRING_INDEX(Value,'/',-1) ASC, SUBSTRING_INDEX(Value,'/',1) ASC;

还有更多方法可以实现这一点,只要您可以确定它将以您想要的方式返回结果。


查看完整回答
反对 回复 2022-09-03
  • 2 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信