gpt4 book ai didi

php - 对 ORDER BY 查询应用循环移位?

转载 作者:行者123 更新时间:2023-11-29 12:57:52 25 4
gpt4 key购买 nike

我在 mysql 上有一个每周时间表,其中我使用内置的 ORDER BY 函数按时间对事件进行排序:ORDER BY time

实际结果

00:01
07:00
08:00
11:00
23:00

预期结果

07:00
08:00
11:00
23:00
00:01
01:00
04:00

等,直到 07:00(例如上午 7 点模数)。

如何更改格式?

最佳答案

看起来您希望基于上午 7:00 - 早上 6:59 进行轮换。您可以根据时间是否在上午 7 点之前进行排序,强制预排序为 2...如果上午 7 点或之后,预排序为 1,然后按自然时间排序...

order by
case when hour( columnTime ) < 7 then 2 else 1 end,
columntime

如果你的时间样本是这样

00:01a
02:27a
05:42a
06:59a
07:00a
10:29a
02:27p
11:59p

预排序的结果会像...

PRESORT  Time
1 07:00a
1 10:29a
1 02:27p
1 11:59p
2 00:01a
2 02:27a
2 05:42a
2 06:59a

通过 SQLFiddle adjusted 更新。函数 HOUR() 返回日期/时间列的数字。你有 HOURS()。现在,函数的参数是保存日期/时间字段的列的名称。我没有你的表结构来知道列名,所以我只是将其称为“columnTime”。根据您拥有的 SQLFiddle 示例,我将其更改为...

HOUR( 小时 ) <-- HOUR() 函数,使用表中的“小时”列

关于php - 对 ORDER BY 查询应用循环移位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23760734/

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