【问题标题】:Sorting Vehicles Registrations对车辆登记进行分类
【发布时间】:2016-04-22 11:54:58
【问题描述】:

使用 PHP 或 MySQL,我正在寻找一种方法来根据车辆登记的年龄和字符进行排序。在英国,车辆登记分两个阶段。第 1 阶段是 2 位数字形式的年份,第 2 阶段是 2 位数字形式 PLUS 50 的年份。这些数据存储在 MySQL 数据库中。

今年 EG 第 2 阶段为 66,第 1 阶段为 16。

这就是我要找的:

* AB01 BBB
* BA01 BBB
* CC51 CCC
* AA02 AAA
* DD52 DDD

这是我目前得到的:

* AA02 AAA
* AB01 BBB
* BA01 BBB
* CC51 CCC
* DD52 DDD

车牌如上所述存储在数据库中。私人注册存储在单独的字段中,因此与此问题无关。

提前感谢您的帮助,如果我能回答任何问题,请告诉我。

布林

【问题讨论】:

  • 你认为正则表达式会如何帮助你?
  • 获取当前结果的代码是什么?
  • 您的问题是什么?您对当前结果使用的查询是什么?
  • 您不需要正则表达式。按 (substring+50)%100 对 SQL 查询中的结果进行排序
  • 请问您到目前为止尝试了什么?正如您所提到的,您从数据库中输出错误?你会分享你的mysql查询或php代码,以便我们帮助你得到答案。

标签: php mysql regex


【解决方案1】:

有点愚蠢,但你可以使用SUBSTR(),因为逻辑是平的:

SELECT
    plate
FROM
    platesTable
ORDER BY
    SUBSTR(plate, 4, 1),
    SUBSTR(plate, 3, 2),
    SUBSTR(plate, 1, 2)

输出是:

+----------+
| plate    |
+----------+
| AB01 BBB |
| BA01 BBB |
| CC51 CCC |
| AA02 AAA |
| DD52 DDD |
+----------+
5 rows in set

【讨论】:

  • 准确!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 2017-08-07
  • 2021-07-26
  • 1970-01-01
  • 2020-05-18
  • 2020-11-11
  • 2021-11-05
相关资源
最近更新 更多