关于dayofweek:mysql:带有日期名称的订购表

mysql :ordering table with day names

我试图获得一天的名字和正确的顺序,如星期一,星期二..但在我的表中,我有记录,星期一到星期五或我星期四两个星期二。我想订购他们像星期一,星期一,星期二, 星期二,星期三等等。但我不想把它们分组。

我使用了这个查询,但它没有订单

1
select Day_Name from mydb.schedule where Room_NO=(510) And Week_NO =(1)

它输出

1
2
3
4
5
6
7
8
9
Monday
Monday
Tuesday
Wednesday
Wednesday
Tuesday
Thursday
Thursday
Thursday

我怎么纠正呢?


将'day_name'列类型更改为ENUM('Monday',...,'Sunday'),然后按其排序查询。 ENUM应该做到这一点。


如果您实际将日期存储为列,则可以使用它的日期部分...如果不是,您可能需要使用案例

1
2
3
4
5
6
7
case
   when day_name ="Monday" then 1
   when day_name ="Tuesday" then 2
   when day_name ...
...
..
end as SortBySequence