对车辆登记进行分类


Sorting Vehicles Registrations

使用PHP或MySQL,我正在寻找一种根据年龄然后按字符对车辆注册进行排序的方法。在英国,车辆分两个阶段注册。阶段 1 是 2 位数字形式的年份,阶段 2 是 2 位数字形式的年份加 50。此数据存储在 MySQL 数据库中。

EG今年的第二阶段将是66,第一阶段是16。

这就是我正在寻找的:

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

这是我目前得到的:

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

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

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

布林

有点愚蠢,但您可以使用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