|
|
|
| есть таблица:
project - может быть project1, project2, project3
нужно: минимальным кол-вом запросов (в идеале одним) вытащить кол-во записей с project=project1,project2,project3 с группировкой по дате, т.е. я хочу знать, сколько записей имеется в таблицы в определенном интервале часов с группировкой по часам
что-то типа такого мне надо как результат:
|hour|project1|project2|project3|
|1|20|30|40|
можно такое сделать одним запросом и как сделать минимальным их кол-вом, если нельзя одним? | |
|
|
|
|
|
|
|
для: Валерий
(26.02.2010 в 17:41)
| |
SELECT ... AS `hour`,
SUM(`project` = 'project1'),
SUM(`project` = 'project2'),
SUM(`project` = 'project3')
FROM ...
GROUP BY `hour`
|
Выражение для часа напишете сами.
Алиасы тоже можете расставить по вкусу. Только не так, как в первом посте. | |
|
|
|
|
|
|
|
для: Trianon
(26.02.2010 в 20:01)
| | спасибо
еще вопрос - если для какого-то часа записей нет, это строка не входит в результат
а можно сделать, чтобы она была, но с "0" вот так:
| |
|
|
|
|
|
|
|
для: Валерий
(27.02.2010 в 12:49)
| | Ели строки в таблице нет, откуда Вы её возьмете?
На уровне php это восполняется элементарно. | |
|
|
|