gpt4 book ai didi

php - 如何先按新日期排序然后按过去日期排序?

转载 作者:行者123 更新时间:2023-11-29 02:20:10 25 4
gpt4 key购买 nike

我在 mysql 数据库中有日期列。我需要按日期对 ASC 进行排序,但首先显示尚未发生的日期,然后是女巫发生的日期。那个sql语句怎么做?结果示例:

for date 25 October 2015
new by ASC:
2015-10-25
2015-10-27
2015-11-03
...
then old by DESC:
2015-10-24
2015-10-14
2015-09-10
...

ps 我正在使用 Yii2 框架(但干净的 php 也不错)。

最佳答案

鉴于此示例数据:

CREATE TABLE t
(`date` date)
;

INSERT INTO t
(`date`)
VALUES
('2015-10-25'),
('2015-10-27'),
('2015-11-03'),
('2015-10-24'),
('2015-10-14'),
('2015-09-10')
;

和这个查询:

SELECT
date
FROM
t
ORDER BY
date >= CURDATE() DESC
, ABS(DATEDIFF(date, CURDATE()));

你得到你想要的输出:

|                        date |
|-----------------------------|
| October, 25 2015 00:00:00 |
| October, 27 2015 00:00:00 |
| November, 03 2015 00:00:00 |
| October, 24 2015 00:00:00 |
| October, 14 2015 00:00:00 |
| September, 10 2015 00:00:00 |

关于php - 如何先按新日期排序然后按过去日期排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33318905/

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