Это кажется довольно простой проблемой, но я не могу понять, как изменить числовое значение месяца на фактическое имя месяца после того, как счетчик продаж сгруппирован по месяцу.
В основном я хочу перечислитьобщая сумма продаж за каждый месяц. В настоящее время это то, что у меня есть:
SELECT MONTH(SaleDate) as "Month", Count(*) as "TotalSales"
FROM Sale
GROUP BY MONTH(SaleDate);
Это прекрасно работает для того, что я хочу сделать. И дает такие результаты:
+---------------------------------+
| Month | TotalSales |
+---------------------------------+
| 1 | 123 |
| 2 | 142 |
| 3 | 183 |
| 4 | 99 |
| 5 | 127 |
| 6 | 202 |
+---------------------------------+
etc....
Однако я хочу, чтобы в списке были месяцы, такие как январь, февраль ... и т. Д.
Я пробовал несколько способов, используя MONTHNAME (), MONTHNAME (STR_TO_DATE) и многие другие, но, похоже, проблема связана с группировкой месяцев.
Я чувствую, что мне не хватает очень простого решения, но я не могу найти онлайн. Для справки даты в таблице «Продажи» являются значениями по умолчанию (2017-01-01 или ГГГГ-ММ-ДД). И таблица продажи имеет три атрибута: SaleID, StoreID и SaleDate.
+---------------------------------+
| Month | TotalSales |
+---------------------------------+
| January | 123 |
| February | 142 |
| March | 183 |
| April | 99 |
| May | 127 |
| June | 202 |
+---------------------------------+
and so on...
Вот сообщение об ошибке, которое я получаю из методов, которые я пробовал:
Код ошибки: 1055Выражение №1 списка SELECT отсутствует в предложении GROUP BY и содержит неагрегированный столбец «UsedCarDealer.Sale.SaleDate», который функционально не зависит от столбцов в предложении GROUP BY;это несовместимо с sql_mode = only_full_group_by
Спасибо!