2010-05-09 74 views
0

我正在尝试获取星期一,星期二的正确顺序名称的日期。但是在我的表格中我记录了星期一到来之后星期五或者星期二我有两个星期二之间。我想要要像星期一,星期一,星期二,星期二,星期三等等。但我不想把它们分组。mysql:订购表的日期名称

我用这个查询,但它没有为了

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

它输出

Monday 
Monday 
Tuesday 
Wednesday 
Wednesday 
Tuesday 
Thursday 
Thursday 
Thursday 

我怎么能纠正呢?

+0

你为什么要存储日期名称而不是日期索引? – 2010-05-09 20:42:12

+0

,因为那些天的名字是字符串。他们没有索引 – Ercan 2010-05-09 20:50:34

回答

1

如果实际存储日期一栏,你可以使用它的日期部分...如果不是,您可能需要使用的情况下

case 
    when day_name = "Monday" then 1 
    when day_name = "Tuesday" then 2 
    when day_name ... 
... 
.. 
end as SortBySequence 
+0

我必须在哪里使用这种情况?它给语法错误。我用 从mydb.schedule中选择Day_Name,其中Room_NO =(510)和Week_NO =(1)的情况下...... – Ercan 2010-05-09 20:51:27

+0

我之前忘记了Case逗号 – Ercan 2010-05-09 21:02:16

1

改变“DAY_NAME”列类型ENUM( '星期一',...,'星期天'),然后按它排序查询。 ENUM应该这样做。