У меня есть запрос, который на 90% там, я запрашиваю данные о том, что происходит в течение каждого дня недели, который отлично работает для данных, которые есть, но я бы также как данные для тех, которые не являются (я хочу, чтобы запрос включал нули в течение дней недели, которых не существует).postgres sql выбор по будням, включая пустые записи в рельсах
SELECT EXTRACT(dow FROM start_at) AS number, COUNT(*) FROM "events" GROUP BY number
или для рельсов ...
Event.select("EXTRACT(dow FROM start_at) AS number, COUNT(*)").group("number")
Результат.
+----+--------+-------+
| id | number | count |
+----+--------+-------+
| | 0.0 | 16 | # day of the week Sunday
| | 1.0 | 20 |
| | 2.0 | 29 |
| | 3.0 | 19 |
| | 4.0 | 4 |
+----+--------+-------+
Как я могу расширить этот запрос, чтобы наметить все дни недели, даже если нет записей? (чтобы выглядеть так).
+----+--------+-------+
| id | number | count |
+----+--------+-------+
| | 0.0 | 16 |
| | 1.0 | 20 |
| | 2.0 | 29 |
| | 3.0 | 19 |
| | 4.0 | 4 |
| | 5.0 | 0 | # i want these zeros too!
| | 6.0 | 0 |
+----+--------+-------+