Comments 15
Ну по поводу обычной группировки: если start_date=01.01.2010 а end_date=01.10.2010 то нужно чтобы во всех десяти месяцах запись была учтена. В обычной группировке так не получится, более того если записей нет с начальной или конечно датой за определенный месяц, то этот месяц вообще не будет выведен.
Кроме того, я зачем условие "
Кроме того, я зачем условие "
DATE_FORMAT(t.start_date, '%m') = DATE_FORMAT(t.end_date-1, '%m')
"? В задаче не говорилось, что длительность записи всего 1 день. Более того, в таком случае смысла end_date вообще нет…я==а
и в 11 месяцах, конечно же, а не в 10 :)
Не день и не месяц, а одна секунда, я ошибся (не переключился с оракла):
select sysdate(),sysdate()-1 from dual
Именно ифами/кейсами и можно в одну группу поместить. о чем собственно и топик…
select sysdate(),sysdate()-1 from dual
Да, в несколько групп один праздник не поместить, это точно. Точнее, это возможно, но тогда уж лучше if'ами case'ами.
Именно ифами/кейсами и можно в одну группу поместить. о чем собственно и топик…
вы когда-нибудь пробовали explain для таких запросов? А что-нибудь выбрать из information_schema.columns на свежем только что загруженном mysql с большим числом баз и таблиц? адово тормозит и приводит к считыванию всех каталогов и всех файлов.
На прогретом не так заметно, но, кажется, эта идея не очень. Лучше уж заранее генерировать таблицы.
На прогретом не так заметно, но, кажется, эта идея не очень. Лучше уж заранее генерировать таблицы.
Sign up to leave a comment.
Микрозаметка: Итераторы/Генерация диапазонов дат, чисел и тд