:: urbansheep (urbansheep) wrote,
:: urbansheep
urbansheep

  • Music:

Группировка по месяцу-дню-году в MySQL, часть вторая

Большое спасибо за помощь и отклик kingoleg и gorynych, вопрос удалось решить очень легко: проще всего оказалось использовать DATE_FORMAT, в который мне пришлось уложить стандартный таймстамп, после чего всё отлично и быстро (0.6-0.9 сек при обработке 45-тысячной базы) выдало нужный результат:

SELECT COUNT(user) as user, DATE_FORMAT(changed, '%Y-%m') as mnth FROM `utx_cat` WHERE user='centralasian' GROUP BY mnth;

67732004-08
6992004-09
3512004-10
5012004-11
2252004-12
1692005-01
3472005-02
402005-03

Парадокс в том, что если бы я, не будь ленивой, залезла ещё вчера вечером дома в мануал по MySQL, то в списке функций для работы с датой сама бы наткнулась на DATE_FORMAT с примерами (как и получилось сегодня утром), но:

  • у меня бы не возникло повода об этом написать
  • мне не пришлось бы рыть гугл на предмет этой проблемы (и не пришлось бы читать объяснения)
  • мне не написал бы никто ни строчки, а так — кроме примеров с DATE_FORMAT и FROM_UNIXTIME, а Горыныч ещё и написал письмо о кривизне работы FROM_UNIXTIME.

Персональные коммуникации — сила.

1 | 2

Subscribe
  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments