mysql - 如何在 SQL 中对计划日期与时间进行排序?

标签 mysql sql

如何对 SQL 中的日期和时间进行排序?

数据:

enter image description here

我想要的是:

 - Day        |      Time

 - M-W-F      | 08:00 - 09:00 am 
 - M-W-F      | 09:00 - 10:00 am
 - .....................

 - T-Th       | 07:00 - 8:30 am
 - T-Th       | 8:30 - 10:00 am 
 - ....................

 - Sat        | 09:00 - 12:00 am
 - Sat        | 02:00 - 5:00 pm

我现在使用的SQL:

SELECT * FROM subject_scheduled ORDER BY time_day ASC

最佳答案

尝试以下查询。如果您知道要在日期列中存储哪一天,那么您可以在临时表中定义序列并使用它进行排序。

Declare  @MasterData table (day varchar(111),seq int)
insert into @MasterData
select 'M-W-F',1
union
select 'T-Th' , 2
union
select 'Sat',3

select t.* 
From subject_scheduled t 
join @MasterData m on t.Day=m.day
order by m.seq,left(time,2) asc

您可能需要深入挖掘时间,因为我不确定您如何存储,就像从上午开始到下午结束时您要存储的内容一样。

关于mysql - 如何在 SQL 中对计划日期与时间进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48636897/

相关文章:

mysql - 如何使用mysql中的表内容来grep行?

python - 在应用于列 : works on one install, 而不是其他列的函数上创建索引

php 登录系统 - 登录不起作用

php - 当左连接找不到匹配项时显示空结果

php - 如何使用PHP和MYSQL将数据插入到两个不同的表中

MySql Case 未返回 NULL 的预期值

mysql - 索引列大小太大。最大列大小为 767 字节。 - 对于 INT 数据类型?

mysql - 数据未使用 jsp 插入 mysql 数据库中 - 在运行 process.jsp 时显示空白页面

SQL Pivot 基于两列之间的值

sql - 为什么在数据控制语言中使用 "Deny"?