Показать транзакцию за год

0

Если у roll up есть "500", я бы хотел, чтобы результаты отображали "Grand Total", а не там, где в настоящее время отображается "null",

Кроме того, я не уверен, как я могу добавить предложение WHERE для просмотра только транзакций, которые были обработаны в течение 2018 года?

Есть идеи? Спасибо

select date_format(TRANSACTION_DATE, '%M') AS MONTH, 
SUM(SALES_AMOUNT) TOTAL
FROM SALES
GROUP BY DATE_FORMAT(TRANSACTION_DATE, '%M') WITH ROLLUP

January 160.00
June    100.00
May     240.00
Null    500.00
  • 1
    Вы можете использовать функцию coalesce() или ifnull() для замены нулевых значений
  • 0
    вместо off date_format(TRANSACTION_DATE, '%M') вы также можете использовать MONTH(TRANSACTION_DATE) .. Для WHERE вы можете использовать WHERE YEAR(TRANSACTION_DATE) = 2018
Теги:
rollup

1 ответ

0

Это работает для меня:

http://www.sqlfiddle.com/#!18/8647e/4

SELECT 
isnull(datename(month, [Date1]), 'Total'),
SUM([Amount])
FROM Table1
GROUP BY datename(month , [Date1]) WITH ROLLUP

Результат:

|         |     |
|---------|-----|
| January | 160 |
|    June | 100 |
|     May | 240 |
|   Total | 500 |
  • 0
    Что возвращает ноль в «май» по какой-то причине?
  • 0
    Январь 160.00 июнь 100.00 май 240.00 май 500.00
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню