Проблема следующего характера: есть таблица, в ней три колонки id
, name
, time
(в формате time()
), station_id
.
Нужно: отсортировать все строки по дате времени и вывести на экран в следующем формате:
1-09
нейм
нейм1
неймм999
2-09
нейм
нейм9999
Но у меня что-то не выходит. Выводит только 1 дату, хотя есть и другие. Код:
$q = DB::$dbs->query("SELECT `time`, group_concat(name) AS name FROM tables WHERE station_id = '100' order BY time DESC");
$q->execute();
while($list = $q->fetch())
{
echo date('d-m-Y', $list['time']);
$name= explode(',', $list['name'] );
for ($count = 0; $count <= count($name)-1; $count++) {
echo $name[$count].'<br />';
}
}
Использование агрегатных функций без группировки приводит к тому, что они работают по всем отобранным записям, возвращая один результат
SELECT `time`, group_concat(name) AS name
FROM tables
WHERE station_id = '100'
group by time
order BY time DESC
Такой запрос соберет имена для каждого времени
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Перенёс проект из репозитория на компьютерПосле переноса всплывает ошибка