Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Отсортировать дни рождения


Автор: Anton Vatchenko 7.12.2006, 18:10
У меня в базе есть поле день рождения, заполнен как ГГГГ-ММ-ДД. Как осортировать по возрастанию не учитывая год?

Автор: skyboy 7.12.2006, 18:26
Цитата(Anton Vatchenko @  7.12.2006,  17:10 Найти цитируемый пост)
У меня в базе есть поле день рождения, заполнен как ГГГГ-ММ-ДД

в смысле, поле имеет тип DATE?
Код

SELECT *
FROM some_table
ORDER BY month(DateField),day(DateField)

Автор: Anton Vatchenko 8.12.2006, 14:35
А что делать со следующим годом? Вот сейчас декабрь (12 месяц). А я хочу еще на январь, февраль и т. д...

Автор: skyboy 8.12.2006, 14:40
Anton Vatchenko, а что, при сортировке по номеру месяца ты не получишь "январь, февраль и т.д..."?!  smile 

Автор: Anton Vatchenko 8.12.2006, 15:33
Ну я хочу, чтобы у меня были дни рождения начиная с сегодняшнего дня до вчерашнего - но уже в следующем году...

Автор: skyboy 8.12.2006, 15:48
Код

SELECT *
FROM some_table
ORDER BY (month(Now())>month(DateField)),(month(Now())=month(DateField) AND day(Now())>day(DateField)),month(DateField),day(DateField)

Ничего запутаннее придумать не смог  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)