2010-05-09 71 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應該這樣做。