我需要按年份(从最新到最旧)对记录进行排序,其中列的内容如下所示:
id | year
-------------
1 | 1Q 2000
2 | 4Q 2000
3 | 3Q 1999
4 | 1Q 2002
1Q、2Q、3Q、4Q 表示季度。我需要得到结果:
id | year
-------------
4 | 1Q 2002
2 | 4Q 2000 (4th quarter of 2000 is newest than 1 quarter of 2000)
1 | 1Q 2000
3 | 3Q 1999
在 MySQL 中可以吗?
在 Laravel Eloquent ->orderBy() 中是否可行?
谢谢, 亲切的问候, 保罗
最佳答案
使用 MySQL
,您可以使用 RIGHT
首先获取年份部分,然后您需要再次按 year
列进行排序以获得正确的排序对于同一年的多个季度:
SELECT *
FROM your_tab
ORDER BY RIGHT(year, 4) DESC, year DESC -- LEFT(year, 1) DESC
关于MySQL 或 Laravel Eloquent - 排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33958369/