Задать вопрос
@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...
  • Вопрос задан
  • 3303 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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`
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы