Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Отчет по дням недели
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Отчет по дням недели

Страниц (1): [1]
 

1. Jilling - 03 Сентября, 2013 - 23:04:46 - перейти к сообщению
Здравствуйте.
Подскажите в какую сторону копнуть.
Есть таблица "data"
id|date|enter|
1|2012-01-23 12:12:12|3|
2|2012-01-24 13:13:13|4|
3|2012-01-25 14:14:14|9|

Нужно сделать запрос, который построит отчет за 12 месяцев по каждому дню недели.
Примерно такая таблица:
Спойлер (Отобразить)

Подскажите каким образом выводить данные по дням недели и месяцам?
2. LIME - 03 Сентября, 2013 - 23:09:59 - перейти к сообщению
копни для начала как правильно дату хранить
так как у тебя даже отсортировать невозможно
(Добавление)
хотя для твоей задачи наоборот удобнее))
GROUP BY
и строковые фции
3. avtor.fox - 03 Сентября, 2013 - 23:41:52 - перейти к сообщению
LIME пишет:
хотя для твоей задачи наоборот удобнее))

ща насоветуешь))

Jilling пишет:
Примерно такая таблица:

Вы уверены, что конечная таблица должна выглядеть именно так? Я смутно себе представляю сумму за месяц в понедельник и за месяц во вторник)
4. Jilling - 03 Сентября, 2013 - 23:55:48 - перейти к сообщению
avtor.fox пишет:
Вы уверены, что конечная таблица должна выглядеть именно так? Я смутно себе представляю сумму за месяц в понедельник и за месяц во вторник)

Да, именно так должен выглядеть конечный результат.

LIME пишет:
копни для начала как правильно дату хранить

Копнул.
5. Ch_chov - 04 Сентября, 2013 - 05:57:33 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT month(`date`) month, SUM(`enter`) FROM `data` GROUP BY month;
6. Contr - 04 Сентября, 2013 - 08:45:29 - перейти к сообщению
Не понятно поставил задачу, автор. Давай с цифрами и поподробнее. Я тоже не пойму. Может, нужна накопительная за месяц - тогда это одно, а недели тогда причем?
7. Champion - 04 Сентября, 2013 - 08:55:44 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2. month(date) month, sum(value) perMonth, sum(case when weekday(date) = 0 then value end) perSundays, sum(case when weekday(date) = 1 then value end) perMondays,
  3. sum(case when weekday(date) = 2 then value end) perThuesdays, ...
  4. FROM tbl
  5. GROUP BY month(date)
как цифры превртить в названия месяцев, Вы догадаетесь

 

Powered by ExBB FM 1.0 RC1