#1.
koji
Off
(3)
Участник
2015.06.28 17:05
На скриншоте приведен пример хранимых данных в БД, как бы выполнить запрос чтобы на выходе получить:
27.06.15 10 0
28.06.15 5 7
запрос типа
$query="SELECT DATE_FORMAT(add_date,'%d.%m.%Y'),total FROM stat WHERE add_date>CURDATE()-INTERVAL 7 DAY AND (record_id=1 OR record_id=2)";
выводит:
27.06.2015 10
27.06.2015 0
28.06.2015 5
28.06.2015 7
Вложения
file.png
16kb
{477x161}
[
загрузок: 921]
#3.
koji
Off
(3)
Участник
2015.06.28 23:11
Gemorroj, да, сложно как-то. Получается, что мне требуется запись с record_id=2 выводить вместе с записью где record_id=1, при этом опуская дату для record_id=2 на выводе, но данные группируются по дате.
То есть на выходе есть $row['0'] - это дата, $row[1] - это число для record_id=1 и еще бы сюда всунуть что-то типа $row[2] - число для record_id=2
Я открывал этот вопрос на stackoverflow, как вариант использовать одно поле и туда писать сразу два числа через точку, 5.7 а после, на выходе, разделить по точке с помощью explode() на два числа, но такое решение никому не понравилось.
Что скажешь, как можно это провернуть, при условии, что эти числа (то есть 10 и 0, 5 и7) всегда извлекаются вместе ?
хотел вначале хранить их в DOUBLE, но он непредсказуем, после чего склоняться начал к VARCHAR.
Возможно, можно как-то в цикле while($row=$result->fetch_row()) повлиять:
если для 28.06.2015 10 не получен record_id=2 то пропускаем тег BR и лепим их вместе, а уже потом переносим строку BR.
Главная задача слепить их в одной строке:
дата число (record_id=1) число (record_id=2) BR
дата число (record_id=1) число (record_id=2) BR
дата число (record_id=1) число (record_id=2) BR
#4.
koji
Off
(3)
Участник
2015.06.28 23:11
Вообще стоит сказать о каких данных речь.
Сегодня были клики по ссылке вверху страницы и по ссылке внизу страницы. Завтра я захочу сравнить количество кликов.
Поэтому нужно вывести: дату, количество кликов вверху, количество кликов внизу страницы.
И так по каждому дню в новой строке. Но я не могу писать данные сразу в три колонки, то есть добавить еще одну, потому клики вверху записываются под record_id=1 а клики внизу record_id=2
#6.
koji
Off
(3)
Участник
2015.06.29 00:12
В том то и дело, там еще данные пишутся c ID 3, 4, 5, 6.... и только для этих данных требуется две колонки. Получится, что для всех других во второй колонке будет писаться "0" автоматом и использоваться она не будет.