Сортировка по месяцам, а не по дате
Задача: Есть таблица, со столбцом формата DATETIME, TIMESHTAMP или DATE. По умолчанию сортировка производится по дате. Т.е. год, месяц, дань, час, минута, секунда. Но, надо отсортировать значения например по месяцам. Как?
Ответ: Как всегда все гениальное просто - сортировать можно не только по столбцам, но и по результатам обработки. В данном случае можно использовать функцию DATE_FORMAT
не правильно по строковому, а не числовому значению, что не всегда то, что нужно.
ORDER BY DATE_FORMAT(birthday,'%m%d') ASCтак же подойдут функции DAY, MONTH, YEAR
ORDER BY DAY(birthday) ASC, MONTH(birthday) ASC, YEAR(birthday) ASCПримечание: Если использовать в функции DATE_FORMAT дополнительные символы для разделения значений:
ORDER BY DATE_FORMAT(birthday,'%m-%d') ASCто сортировка будет производиться
спасибо! коротко и толково))