gpt4 book ai didi

php - MySQL按日期排序直到特定日期,之后反向排序

转载 作者:行者123 更新时间:2023-11-29 04:33:30 24 4
gpt4 key购买 nike

好的,所以我有一个像这样的表

+----+-------+------------+
| id | title | date |
+----+-------+------------+
| 1 | aaa | 2018-08-13 |
| 2 | bbb | 2018-08-02 |
| 3 | ccc | 2018-07-06 |
| 4 | ddd | 2018-07-16 |
| 5 | fff | 2018-07-13 |
+----+-------+------------+

我想按日期列升序排序,但只到特定日期,之后我想按降序排序,就像这样

+----+-------+------------+
| id | title | date |
+----+-------+------------+
| 4 | ddd | 2018-07-16 |
| 2 | bbb | 2018-08-02 |
| 1 | aaa | 2018-08-13 |
| 5 | fff | 2018-07-13 |
| 3 | ccc | 2018-07-06 |
+----+-------+------------+

我以为我可以使用 UNION,但要么我不知道如何使用它,要么它不接受每个 中指定的 ORDER BY 子句>选择

编辑: 我可能没有很好地解释自己。在我的查询中,我需要它按日期对特定日期之后的所有行(>= 某个日期,在本例中让我们使用 2018-07-15)和之前的所有行进行降序排序。

最佳答案

您应该使用单个 order by 并且没有子查询来执行此操作:

order by (case when date >= @date then 1 else 0 end),  -- put more recent first
(case when date >= @date then date end) asc, -- order the first group ascending
date desc -- order by second group descending

关于php - MySQL按日期排序直到特定日期,之后反向排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836822/

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