gpt4 book ai didi

MySQL 或 Laravel Eloquent - 排序依据

转载 作者:行者123 更新时间:2023-11-30 22:30:44 25 4
gpt4 key购买 nike

我需要按年份(从最新到最旧)对记录进行排序,其中列的内容如下所示:

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
  1. 在 MySQL 中可以吗?

  2. 在 Laravel Eloquent ->orderBy() 中是否可行?

谢谢,亲切的问候,保罗

最佳答案

使用 MySQL,您可以使用 RIGHT 首先获取年份部分,然后您需要再次按 year 列进行排序以获得正确的排序对于同一年的多个季度:

SELECT *
FROM your_tab
ORDER BY RIGHT(year, 4) DESC, year DESC -- LEFT(year, 1) DESC

SqlFiddleDemo

关于MySQL 或 Laravel Eloquent - 排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33958369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com