Группировка итогов нестандартными кварталами в MySQL -- mysql пол Связанный проблема

Grouping Totals by non standard quarters in MySQL


0
vote

проблема

русский

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

Я хочу суммировать транзакции для каждого продавца на четвертях за определенный год. Кварталы начинаются 1 июня и заканчиваются 31 мая.

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

Я хотел бы, чтобы это выглядеть как

Продавец Q1total q2total q3total q4total

Похоже, что-то, что должно быть довольно простым, но я изо всех сил пытаюсь понять это.

Английский оригинал

I have a simple table which includes seller, buyer, transaction date, and total.

I want to sum the transactions for each seller by quarters over a given year. The quarters begin on June 1 and end on May 31.

I know how to sum by the seller for a given date range, but can't figure out how to do it for multiple quarters.

I would like for it to look like

Seller Q1Total Q2Total Q3Total Q4Total

Seems like something that should be fairly simple but I'm struggling to figure it out.

</div
  

Список ответов

0
 
vote
vote
Лучший ответ
 

Вы можете сделать это с условной агрегацией:

 <код> select Seller,        sum(case when Transactiondate between '20150601' and '20150831' then Amount else 0 end) as Q1Amount,        sum(case when Transactiondate between '20150901' and '20151231' then Amount else 0 end) as Q2Amount,        sum(case when Transactiondate between '20160101' and '20160229' then Amount else 0 end) as Q3Amount,        sum(case when Transactiondate between '20160301' and '20160531' then Amount else 0 end) as Q4Amount from TableName group by Seller   
 

You can do this with conditional aggregation:

select Seller,        sum(case when Transactiondate between '20150601' and '20150831' then Amount else 0 end) as Q1Amount,        sum(case when Transactiondate between '20150901' and '20151231' then Amount else 0 end) as Q2Amount,        sum(case when Transactiondate between '20160101' and '20160229' then Amount else 0 end) as Q3Amount,        sum(case when Transactiondate between '20160301' and '20160531' then Amount else 0 end) as Q4Amount from TableName group by Seller 
</div
 
 
 
 

Связанный проблема

0  Pandas импорт не вставляет все строки  ( Pandas import not inserting all rows ) 
Я импортирую файл .csv с 3300 рядами данных через следующее: <код> kendo0 После успешного импорта я делаю запрос «Выбрать * из ...» на моем столе, которы...

0  Лучший способ написать этот запрос?  ( Best way to write this query ) 
Я делаю подпроси в присоединении к другой таблице, когда я хотел иметь возможность отсортировать результаты, которые я вернулся с ним, мне нужен только первый...

0  Набор ToggleButton состояние из входящих данных JSON  ( Set togglebutton status from incoming json data ) 
<Р> Я пытаюсь следовать Android учебник , чтобы изменить базу данных MySQL данные из приложения Android. Я довольно новый для концепции JSON синтаксического р...

0  Процедура ничего не делает  ( Procedure doesnt do anything ) 
Я сделал процедуру в MySQL. Похоже, это выглядит. Я назвал эту процедуру из PHP. После этого звонка стол все еще остается пустым, и я не знаю почему. ...

0  Ошибка обновления записи  ( Error updating a record ) 
Я получаю ошибку mysql: #update (ActiveReCord :: authentInvalid) "mysql :: Ошибка: # hy 000got Ошибка 139 из механизма хранения: При попытке обновить те...

0  Как я могу выбрать следующее бронирование MySQL?  ( How can i select the next reservation mysql ) 
У меня есть таблица, вызывающая бронирование, и она содержит все бронирование для каждого автомобиля. И у меня есть поле резервированияStatus, которое означае...

-2  PHP отображается только идентификатор, а не значение из MySQL [Закрыто]  ( Php only displaying id and not the value from mysql ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос нуждается в Детали или ясность . В настоящее...

0  Сумма дебета на базе месяца в SQL  ( Sum of debit on the base of month in sql ) 
У меня есть квитанция об имени таблицы Скретко, как следует, <код> account_no date transaction_type amount s1 2012-7-7 opening ...

1  Доступ к данным из другой базы данных в Joomla 3.2+  ( Accessing data from another database in joomla 3 2 ) 
Я обновляю свои компоненты от Joomla 1.7 до Joomla 3.3 и должен держать оригинальную базу данных. Поэтому мне необходимо получить доступ к данным отображения ...

0  Пройдите имя таблицы, чтобы выбрать оператор из курсора  ( Pass table name to select statement from cursor ) 
Как я могу использовать значения, возвращаемые из курсора в качестве названий таблиц в MySQL-процедурах? <код> DECLARE cur CURSOR FOR select table_name, col...

1  Проблемы проектирования базы данных с отношениями  ( Database design issues with relationships ) 
Я работаю над обновлением для существующей базы данных, которая была разработана без какого-либо из кода для реализации рассматриваемой конструкции. Теперь я ...

0  Если запись в таблице A не существует в таблице b сделать что-то, как бы я пошел по этому поводу?  ( If record in table a does not exist in table b do something how would i go abou ) 
У меня есть таблица A с полем, называемым писем, мне нужно проверить таблицу B, которая также имеет поле под названием Emails. Если электронное письмо в табли...

0  Должен ли я обрабатывать шланг / плохие слова маскировки на стороне сервера (или на стороне клиента) для достижения лучшей производительности?  ( Should i process slang bad words masking on server side or client side to achi ) 
Я разрабатываю в чате в чате в режиме реального времени и необходимость замаскировать плохие слова, которые клиент отправляет. Итак, теперь мне интересно пров...

-1  Используйте SELECT Под действие  ( Use select under case statement ) 
Я хочу использовать запрос, который позволяет мне получить два различия в зависимости от фильтра. Я попробовал это, но не работает. <код> CASE WHEN filtre =...

1  Как я могу выбрать, используя пересечение стоимости разделенного запятой?  ( How can i select using an intersection of comma separated value ) 
У меня есть столбец, удерживает значения, разделенные запятыми. <код> 1,2,3 4,6,7 2,3,8 12234,5467,232445,232455,11223 с заданными критериями массива (н...

Связанный проблема

0  Pandas импорт не вставляет все строки 
0  Лучший способ написать этот запрос? 
0  Набор ToggleButton состояние из входящих данных JSON 
0  Процедура ничего не делает 
0  Ошибка обновления записи 
0  Как я могу выбрать следующее бронирование MySQL? 
-2  PHP отображается только идентификатор, а не значение из MySQL [Закрыто] 
0  Сумма дебета на базе месяца в SQL 
1  Доступ к данным из другой базы данных в Joomla 3.2+ 
0  Пройдите имя таблицы, чтобы выбрать оператор из курсора 
1  Проблемы проектирования базы данных с отношениями 
0  Если запись в таблице A не существует в таблице b сделать что-то, как бы я пошел по этому поводу? 
0  Должен ли я обрабатывать шланг / плохие слова маскировки на стороне сервера (или на стороне клиента) для достижения лучшей производительности? 
-1  Используйте SELECT Под действие 
1  Как я могу выбрать, используя пересечение стоимости разделенного запятой?