Как отсортировать по названию месяца - PullRequest
0 голосов
/ 24 февраля 2019

У меня такой запрос:

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY MonthName(Month(Transaction_Date))
ORDER BY MonthName(Month(Transaction_Date))

Но результаты не отсортированы по дате.Как отсортировать по названию месяца: январь, февраль, март и т. Д.?

Ответы [ 5 ]

0 голосов
/ 24 февраля 2019

Упорядочение по названию месяца будет в алфавитном порядке, но если вы просто заказываете по месяцам (транзакция_дата) ASC / DESC, которые должны правильно упорядочить ваши результаты.

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY Month(Transaction_Date)
ORDER BY Month(Transaction_Date)
0 голосов
/ 24 февраля 2019

Полагаю, вам следует оформить заказ по дате транзакции.

   SELECT 
 MonthName(Month(Transaction_Date)) 
    As Month_Name , SUM(Sales)
    FROM Sales
   GROUP BY Month_Name
  ORDER BY Transaction_Date
0 голосов
/ 24 февраля 2019

Попробуйте использовать этот запрос:

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY MonthName(Month(Transaction_Date))
ORDER BY Transaction_Date ASC

Обратите внимание:

ASC - для возрастания от A до Z порядка

DESC - для убывания Z до порядка A

0 голосов
/ 24 февраля 2019

Один метод заключается в том, чтобы включить оба в GROUP BY:

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY MonthName(Month(Transaction_Date)), Month(Transaction_Date)
ORDER BY Month(Transaction_Date);

или просто агрегировать по MONTH():

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY Month(Transaction_Date)
ORDER BY Month(Transaction_Date);

Затем применяется MONTHNAME() послеагрегации.

В качестве альтернативы, если все Transaction_Date относятся к одному и тому же году, используйте функции агрегирования:

SELECT MonthName(Month(Transaction_Date)), SUM(Sales)
FROM Sales
GROUP BY MonthName(Month(Transaction_Date))
ORDER BY MIN(Transaction_Date);

Обратите внимание, что вы также можете включить год вместе смесяц - это лучшая практика, потому что обычно вы не хотите смешивать данные разных лет в одном месяце.

0 голосов
/ 24 февраля 2019

Упорядочить результаты по месяцу число в отличие от месяца имя , например:

SELECT MonthName(Month(Transaction_Date)), Sum(Sales)
FROM Sales
GROUP BY MonthName(Month(Transaction_Date)), Month(Transaction_Date)
ORDER BY Month(Transaction_Date)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...