Sql группировка по месяцам

Есть некая таблица с датами и прочей инфой. необходимо сгруппировать инфу только по месяцам. Вот что я попробовал

Данный код группирует, однако только если дата полностью совпадает. Мне необходимо, что бы группировка происходила только по месяцам, то есть записей должно быть всего 12. В чем я ошибся?

1 ответ 1

Ни в чём не ошибся, если нужен анализ продаж по месяцам, то там и так будет одна из агрегатных функций или COUNT или SUM и приведённый код будет нормально работать. Если работает только, если дата полностью совпадает, значит не правильно выделяете месяц. Тонкостей MS-Access не помню, а в PostgreSQL это будет выглядеть следующим образом:

Ну а если всё-таки Наименование , то естественно записей будет не 12, а будет зависеть от количества различный наименований проданных в данные месяца. Хотя, если из Delphi, то это даже удобнее будет, там в табличке группировку сделаете по месяцам и будет плюсиком красиво разворачиваться каждый месяц с суммой в footer

Всё ещё ищете ответ? Посмотрите другие вопросы с метками sql delphi ms-access или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.1.17.35809

Я не уверен, что я должен написать в следующем запросе SQL, чтобы показать столбец «Дата», как это: «месяц-год» — «9-2011».

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

Я предполагаю, что это MS SQL, как это выглядит синтаксис MS SQL.

Читайте также:  Team fortress 2 comics

Таким образом, вы должны положить в групповой линии то же самое, как и в выберите экс:

Или, как @ 40-Love упомянули вы можете бросить с ведущими нулями:

Если я правильно понимаю. Для того, чтобы сгруппировать ваши результаты, как просили, ваша группа К статье должна иметь такое же выражение, как ваше отборного заявления.

Для отображения даты в формате «месяц-дата» изменить ". к «-» Полный синтаксис будет что-то вроде этого.

В PostgreSQL можно написать подобный запрос с функцией даты-формат (to_char) и группировкой только по дате:

Такая вещь, безусловно, возможно с SQL-сервером тоже, не так ли?

Если вы хотите, чтобы остаться имея поле в даты и времени типа данных, попробуйте использовать это:

Это также легко изменить в группу часов, дни, недели, года .
Я надеюсь , что это приносит пользу кому — то,

SQL Server 2012 выше, я предпочитаю использовать функцию формата (), более упростить.

186395 просмотра

7 ответа

1842 Репутация автора

Я не уверен, что я должен написать в следующем запросе SQL, чтобы отобразить столбец «дата», например: «месяц-год» — «9-2011».

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

Ответы (7)

12 плюса

5919 Репутация автора

Я полагаю, что MS SQL выглядит как синтаксис MS SQL.

Таким образом, вы должны поместить в строку группы то же самое, что и в select ex:

138 плюса

60451 Репутация автора

Или, как упомянул @ 40-Love, вы можете использовать лидирующие нули:

Автор: Lamak Размещён: 23.03.2011 01:53

5 плюса

166 Репутация автора

Если я правильно понимаю. Чтобы сгруппировать результаты в соответствии с запросом, предложение Group By должно иметь то же выражение, что и оператор select.

Читайте также:  Aliens colonial marines кооператив

Для отображения даты в формате «месяц-дата» измените «.» to ‘-‘ Полный синтаксис будет примерно таким.

Автор: eupton Размещён: 23.03.2011 01:56

1 плюс

29739 Репутация автора

В postgresql я могу написать аналогичный запрос с функцией формата даты (to_char) и группировкой по дате:

Такое возможно и с SQL-сервером, не так ли?

-6 плюса

1 Репутация автора

Если вы хотите сохранить поле в типе datetime, попробуйте использовать это:

Это также легко изменить в группу по часам, дням, неделям, годам .
Я надеюсь, что это кому-то пригодится,

2 плюса

139 Репутация автора

SQL Server 2012 выше, я предпочитаю использовать функцию format (), более упростить.

Автор: YHTAN Размещён: 08.04.2019 02:14

плюса

1 Репутация автора

Вы можете попробовать умножение, чтобы скорректировать год и месяц, чтобы они были одним числом. Это, по моим тестам, работает намного быстрее, чем формат (дата, «гггг.ММ»). Я предпочитаю иметь год до месяца для сортировки. Код, созданный из MS SQL Server Express версии 12.0.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *