|
|
|
Группировка и заполнение пробелов
|
|||
|---|---|---|---|
|
#18+
Всем привет! Хочу обратиться за помощью с небольшой проблемой. Пусть имеем таблицу вида: id | user_id | day В ней хранятся какие-то записи по юзерам, необходимо посчитать сколько записей у каждого юзера за каждый день, что бы получилось примерно так: user_id | day | count 1 1 20 1 2 25 2 2 17 Все просто, пишем GROUP BY, COUNT и всё работает. Но необходимо так же вывести строки, где указано, что в этот день, у пользователя 0 записей - в примере должна добавиться еще одна строка: user_id | day | count 2 1 0 Вот не знаю, как лучше сделать, что можете подсказать? Проблема, мне кажется, очень простая, но я давно не работал с sql и уже подзабыл, как это делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 00:18 |
|
||
|
Группировка и заполнение пробелов
|
|||
|---|---|---|---|
|
#18+
Evgeniy57, Используйте опорную таблицу с датами. К ней внешним левым соединением (LEFT JOIN) подключите вашу таблицу. А потом "пишем GROUP BY, COUNT и всё работает". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 00:51 |
|
||
|
Группировка и заполнение пробелов
|
|||
|---|---|---|---|
|
#18+
miksoft, о таком решении я знаю, но к сожалению - мне оно не подходит. А что программно создавать столбцы с днями? Насколько это костыльное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 00:57 |
|
||
|
Группировка и заполнение пробелов
|
|||
|---|---|---|---|
|
#18+
Evgeniy57, можно использовать любую таблицу с числом записей чуть больше необходимого. и программно создать столбец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 03:00 |
|
||
|
Группировка и заполнение пробелов
|
|||
|---|---|---|---|
|
#18+
к примеру так Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 05:14 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39229535&tid=1831836]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 477ms |

| 0 / 0 |
