Я хочу показать базу данных за месяц и следовать за общим значением за этот месяц.
Например:
| ID | Name | Amount | Date | Month | Day | Total |
--------------------------------------------------------------------------------
| ZAK00001 | Committee Meeting April | 4000 | 06-02-19 | 2 | 6 | 4000 |
| Total | 4000 |
| ZAK00009 | Meeting May | 500 | 10-06-19 | 6 | 10 | 1000 |
| ZAK00011 | Meeting May | 3000 | 20-06-19 | 2 | 20 | 3000 |
| Total | 4000 |
Как добиться вышеуказанных данных в SQL
? До сих пор я пытался использовать.
Обновление запроса и результата.
Я добавляю IFNULL(a.id, 'Total')
Запрос
SELECT
-- a.id,
IFNULL(a.id, 'Total'),
m.name,
a.amount,
date_format( str_to_date( m.meeting_date, "%d/%m/%Y" ), "%d-%m-%y" ) AS date,
MONTH (
str_to_date( m.meeting_date, "%d/%m/%Y" )) AS month,
DAYOFMONTH(
str_to_date( m.meeting_date, "%d/%m/%Y" )) AS day,
sum(a.amount)
FROM
applications a
INNER JOIN meeting_application ma ON a.id = ma.application_id
INNER JOIN meetings m ON ma.meeting_id = m.id
GROUP BY monthName, a.id WITH ROLLUP
Результат
| ID | Name | Amount | Date | Month | Day | Total |
---------------------------------------------------------------------------------
| ZAK00001 | Committee Meeting April | 4000 | 06-02-19 | 2 | 6 | 4000 |
| Total | Committee Meeting April | 4000 | 06-02-19 | 2 | 6 | 4000 |
| ZAK00009 | Meeting May | 1500 | 10-06-19 | 6 | 10 | 1500 |
| ZAK00011 | Meeting May | 500 | 20-06-19 | 6 | 20 | 500 |
| Total | Meeting May | 500 | 20-06-19 | 6 | 20 | 2000 |
Можем ли мы сделать это в запросе?
Я могу отобразить текст Total
. Как не отображать повторяющиеся значения?