Групирование по месяцам в MySQL

Печать RSS
356

K
Автор
Оранжевые штаны
0
Есть ли отдельная функция в мускуле которая может группировать дату (UNIX) по месяцам? Пробовал GROUP BY, но толком ничего не вышло.
G

Пришелец
0
можно, но лучше бы ты хранил в формате datetime. у тебя щас какой тип поля? INT?
K
Автор
Оранжевые штаны
0
2 да инт
M

Оранжевые штаны
0
В mysql есть типы ячеек специально под дату и конкретно под год. А про месяц не слышал. Возможно в дейттайм с преобразованиями можно месяц только записать.
К

Пришелец
0
Я реализовал через unixtime()

Ктулху
0
а почему нет то? Я тоже дату храню в виде unix времени) запрос примерно такой:
<?php
mysql_query("SELECT * FROM `tables` WHERE `time` > 'unix время начала месяца' AND `time` < 'unix время конца месяца' LIMIT 0, 30");
?>
Изменил: ктулху (20.12.2009 / 11:05)
Б

Пацак
0
Храниш дату в в datetime и выводиш условием WHERE DATE_FORMAT( `time` , '%c' )='12'
p.s `time` это у название столбца...
G

Пришелец
0
Извини, что не во время. Забыл про эту тему ))
Вобщем как то так
SELECT * FROM table GROUP BY MONTH(FROM_UNIXTIME(my_date))
M

Оранжевые штаны
0
Быстродействие с при использовании именно mysql дат - лучше в разы, в отличие от юникс-тайм. Это проверено. smile
M

Оранжевые штаны
0
По этому запись даты, времени и прочего нужно хранить в спец-типах столбцов и выводить тоже.
Хотя я сам использую unixtime удобно всё-таки D но не оптимально.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск