首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否对ORDER BY查询应用循环移位?

是否对ORDER BY查询应用循环移位?
EN

Stack Overflow用户
提问于 2014-05-20 21:07:52
回答 2查看 79关注 0票数 0

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

实际结果

代码语言:javascript
运行
复制
00:01
07:00
08:00
11:00
23:00

预期结果

代码语言:javascript
运行
复制
07:00
08:00
11:00
23:00
00:01
01:00
04:00

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

如何更改格式?

EN

Stack Overflow用户

发布于 2014-05-20 21:41:58

它显示的是您想要基于7:00am - 6:59am的轮换你可以根据时间是否在上午7点之前进行排序,强制预先排序为2...如果上午7点或之后,pre-sort为1,则按自然时间排序...

代码语言:javascript
运行
复制
order by
   case when hour( columnTime ) < 7 then 2 else 1 end,
   columntime

这样如果你的时间样本是

代码语言:javascript
运行
复制
00:01a
02:27a
05:42a
06:59a
07:00a
10:29a
02:27p
11:59p

预排序的结果就像...

代码语言:javascript
运行
复制
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更新。函数的作用是:返回日期/时间列的数值。你有几个小时()。现在,函数的参数是保存日期/时间字段的列的名称。我没有您的表结构来知道列名,所以我只称它为"columnTime“。根据你的SQLFiddle样本我把它改成..。

HOUR( hours ) <-- HOUR()函数,使用表中的"hours“列

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23760734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档