Группировка данных по месяцу при выборке по date

KorP

Новичок
Группировка данных по месяцу при выборке по date

есть - БД дата/запись, дата хранится как date, задача - группировать записи при выводе по месяцу...чё то никак не допрёт до меня...в мане что то тоже не нашёл...может не то ищу?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Привести к виду месяц/Год
по нему и групировать
DATE_FORMAT()
 

KorP

Новичок
дата приведена к виду дд.мм.гггг в самом sql запросе, как по ней группировать то? GROUP BY date ничего не даёт...вот и спрашиваю...надо как то месяц указать...но как - в мане не нашёл
 

KorP

Новичок
Mr_Max
и? читал я это, только я не знаю что из этого и как работает с GROUP BY
вот привожу запрос:
PHP:
SELECT *, DATE_FORMAT(date, '%d.%m.%Y') FROM afisha WHERE TO_DAYS(NOW()) - TO_DAYS(date) <= 1 GROUP BY date ORDER BY date
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
дата приведена к виду дд.мм.гггг в самом sql запросе, как по ней группировать то? GROUP BY date ничего не даёт...вот и спрашиваю...надо как то месяц указать...но как - в мане не нашёл
GROUP BY DATE_FORMAT...
или
GROUP BY SUBSTRING....
 

KorP

Новичок
Mr_Max
но ведь не обязательно использовать DATE_FORMAT? месяц в любом случае будет вторым двухзначным значением, в моём случае (как он хранится в БД и как он выводится пользователю)
но вот сгруппировать записи что то так и не получается
если использовать GROUP BY DATE_FORMAT(date, '%m'), выводится только 1-я запись в таблице, тоже самое и при использовании GROUP BY MONTH(date)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
KorP
Может следует перечитать что делает групировка?
выводится только 1-я запись в таблице, тоже самое и при использовании GROUP BY MONTH(date)
Обясните словами что Вам нужно.
 

KorP

Новичок
есть в БД:
дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
надо:
мм
дд - текст
дд - текст
дд - текст
дд - текст
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
KorP

дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
надо:
мм
дд - текст
дд - текст
дд - текст
дд - текст
Простите, каким боком сюда групировка?
 

KorP

Новичок
"MySQL позволяет разбивать записи результирующего набора на определённые группы на основании определённого атрибута"
а почему нет собственно? дата (часть даты) является атрибутом, по которому происходит группировка данных...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
выводится только 1-я запись в таблице, тоже самое и при использовании GROUP BY MONTH(date)
С этого места, пожалуйста, пододробнее что Вы хотите зделать.

-~{}~ 22.06.07 17:42:

MySQL позволяет разбивать записи результирующего набора на определённые группы на основании определённого атрибута
групируете по месяцу - получаете 12 записей
по дням - 31....
по мес-год - получаете по 1-й записи что соотвествует ***ОДНОМУ ДНЮ*** каждого месяца соотвествующего года, что есть в БД

Вы как-то по другому себе представляете групировку?

-~{}~ 22.06.07 17:47:

немного непонятно написал.
изменения в ****
 

KorP

Новичок
Автор оригинала: Mr_Max
по мес-год - получаете по 1-й записи что соотвествует ***ОДНОМУ ДНЮ*** каждого месяца соотвествующего года, что есть в БД
что то я н пойму - почему при групировке записей я получу ОДНУ запись если у меня записей за этот месяц к примеру 10?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
что то я н пойму - почему при групировке записей я получу ОДНУ запись если у меня записей за этот месяц к примеру 10?
Потому-что сгрупированно по год-мес

Возникают ещё вопросы?
Возможно следует перечитать мануал?
http://www.mysql.ru/docs/man/Group_by_functions.html

-~{}~ 22.06.07 19:51:

задача - группировать записи при выводе по месяцу
что вы здесь имеете ввиду?

-~{}~ 22.06.07 19:55:

Пожалуйста, словами и предложениями, а то мне кажется вы чего-то недоговариваете.
ПРимер:
я хочу выбрать из таблицы, в которой хранится то-то и то, чтоб...
 

KorP

Новичок
Автор оригинала: Mr_Max
Потому-что сгрупированно по год-мес
ну сгруппировано по год-мес, но если записей за этот год-мес 10-20-... почему выводится только одна то???? что то я читая ман не могу понять ваших слов
Автор оригинала: Mr_Max

Пожалуйста, словами и предложениями, а то мне кажется вы чего-то недоговариваете.
ПРимер:
я хочу выбрать из таблицы, в которой хранится то-то и то, чтоб...
я уже написал словами пример?
таблица в БД
дата | текст

нужно выводить эти записи и группировать по месяцу:
июнь 2007
22 - текст
25 - текст

я ж уже написал, куда ещё большими словами?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
я уже написал словами пример?
Вы сами то пробовали понять что написали? :)
дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
дд.мм.гггг/текст
надо:
мм
дд - текст
дд - текст
дд - текст
дд - текст
ну и групировка (мускула) Вам совсем не нужна.
Обычный запрос с сортировкой по нужным критериям
и 1-м условием при выводе.
 

KorP

Новичок
Mr_Max
вполне понял - в мане дата указана именно так - дд.мм.гггг, так что я написал несколько строк Бд и как эти несколько строк должны выводиться пользователю. по-моему всё доступно написано, в стиле мануала

обычный запрос это SELECT * FROM afisha ORDER BY date (упростил что б не писать километры каждый раз) что ли? :) как при выборке организовать группировку данных по месяцам?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Что-то типа такого
PHP:
while($data = ..........){
    if (!isset ($flag[$data['date']])) {
       echo 'дата в виде июнь 2007';
        $flag[$data['date']] = true;
     }
    ...............
    Дальше обычный вывод афиши за числа месяца;
    ...............
}
Вроде так.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
KorP
Нет
Неужели так сложно подумать?
 
Сверху