2010-05-09 2 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

Почему вы храните имя дня вместо индекса дня? –

+0

, потому что эти имена дней являются строками. У них нет индекса – Ercan

ответ

1

, если вы на самом деле хранить дату в столбце, вы можете использовать DATEPART этого ... если нет, то вам, возможно, придется использовать случай

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

, где я должен использовать этот случай? Это дало синтаксическую ошибку. Я использовал как выбрать Day_Name из mydb.schedule, где Room_NO = (510) И Week_NO = (1) случай, когда .... – Ercan

+0

Я забыл перед запятой Case – Ercan

1

Изменить «day_name» тип столбца ENUM («Понедельник», «...», «Воскресенье»), затем выполните запрос. ENUM должен сделать трюк.

Смежные вопросы