У меня есть таблица, содержащая поле под названием/type datetime
. Позвольте сказать один год. Следующий запрос дает мне все различные числа месяцев в течение этого определенного года:Выберите строки дат и пропущенных дат в mySql
SELECT month(datetime)
FROM foo
GROUP BY month(datetime);
Так позволяет сказать, что запрос возвращает две строки в том числе с января по ноябрь. Можете/как я могу манипулировать этим запросом, чтобы получить также отсутствующий месяц (февраль - октябрь и декабрь)?
Если у foo нет данных за эти месяцы, вы не можете выбрать только из foo и увидеть отсутствующие месяцы. Вы должны расширить свой запрос, чтобы разрешить это. –
У вас здесь нет агрегирующих функций, поэтому я не уверен, почему у вас есть предложение GROUP BY. – Strawberry
Из базы данных вы можете получить то, что есть. Вы не можете получить недостающие месяцы. Лучше, если вы создадите массив из всех месяцев и исключите месяц, исходящий из указанного выше запроса. Это поможет вам в получении недостающих месяцев. – Garima