@IceJOKER
Web/Android developer

Как правильно вывести данные из MySQL, сгруппировав по дате?

Есть таблица
id / title / date

Нужно вывести все данные сгруппировав их по дате, GROUP BY DATE выводит одну запись для для каждой даты, а нужно так

2014-08-04
1...
2...
3...
2014-07-01
1..
2..
2013-05-08
1...
2...
3...
4...
  • Вопрос задан
  • 2923 просмотра
Решения вопроса 1
... orderby date

$lastDate = null;
foreach ($posts as $post) {
    if ( $post->date !== $lastDate ) {
        echo $post->date;
        $lastDate = $post->date;
    }
    // остальной вывод данных
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
так и должно быть.
по сути (если объяснять на пальцах) группировка, как отдельный запрос.
то есть вы получили несколько групп результатов и видите в каждой группе последний результат.
чтоб видеть все, нужно добавить еще один ключ.
SELECT * FROM `table_name` group by `id`,`date`
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы