powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select по месяцам независимо от наличия данных
5 сообщений из 5, страница 1 из 1
select по месяцам независимо от наличия данных
    #39805110
Forx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для построения графика нужна выборка count по месяцам за год. Но по некоторым месяцам данные могут отсутствовать - соответственно нужно вывести 0.

Пока получилось только

Код: sql
1.
SELECT MONTH(dateAt) AS M, COUNT(dateAt) AS C FROM table GROUP BY MONTH(dateAt);


Получаем месяцы по которым есть записи.

Как сделать запрос для вывода всех 12 месяцев независимо от наличия записей?

P.S. И есть ли смысл такой запрос делать к базе или быстрее будет подготовить итоговый массив на php после запроса выше?
...
Рейтинг: 0 / 0
select по месяцам независимо от наличия данных
    #39805112
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ForxКак сделать запрос для вывода всех 12 месяцев независимо от наличия записей?Например, приджойнить табличку с 12 месяцами и в выражении SELECT преобразовать NULL в 0 по необходимости.

ForxP.S. И есть ли смысл такой запрос делать к базе или быстрее будет подготовить итоговый массив на php после запроса выше?Не вижу особого смысла наворачивать запрос, если после него будет обработка полученных данных. В принципе, вывод 0 при отсутствии данных можно даже в шаблоне сделать.
...
Рейтинг: 0 / 0
select по месяцам независимо от наличия данных
    #39805121
Forx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем то после запроса обработки особой нет. Просто хочу понять какое решение оптимальнее.

Yii2 + ChartJs
В виджет передаем данные:
[Январь, Февраль, Март, Апрель и т.д.]

$data = [0, 0, 100, 200, 300, 0, 0, 0, 0, 50, 0, 0]

Если готовые данные из базы, то для $data хватает ArrayHelper::getColumn. Но нужно запрос составить.
Либо формировать $data после запроса
...
Рейтинг: 0 / 0
select по месяцам независимо от наличия данных
    #39805151
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Forxкакое решение оптимальнееОптимально - с данными работать на сервере БД. Синтетическая или статическая таблица месяцев, присоединяемая в запрос, и минимальная обработка на клиенте.
...
Рейтинг: 0 / 0
select по месяцам независимо от наличия данных
    #39805433
Forx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за подсказку. Сделал с джойном статической таблицы

Код: sql
1.
2.
3.
4.
SELECT (t1.month_name) as m, COUNT(t2.dateAt) as c FROM t1
LEFT JOIN t2 ON (MONTH(t2.dateAt) = t1.month_num)
GROUP BY t1.month_name
ORDER BY t1.month_num
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select по месяцам независимо от наличия данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]