Я хочу сделать запрос в MySQL, чтобы получить сумму значения из каждого месяца в год.сумма стоимости каждого месяца года
В настоящее время у меня есть что-то вроде этого:
SELECT
e.rfc as RFC,
SUM(f.total) AS Total,
MONTH(f.fecha) as Mes
FROM
foo f
INNER JOIN
bar e
ON f.bar_id = e.id
INNER JOIN
baz u
ON e.baz_id = u.id
WHERE
u.id = 3
AND DATE(f.fecha) BETWEEN '2014-01-01' AND '2014-12-31'
GROUP BY
MONTH(f.fecha)
Но в месяцах, где не существует значение Foo не отображается.
Мой результат атм это что-то вроде:
RFC Total Mes
AAA010101AAA 10556.000000 12
AAA010101BBB 1856.000000 11
AAA010101BBB 66262.896800 10
AAA010101BBB 990.090000 9
AAA010101BBB 73.000000 8
AAA010101BBB 1304761.620000 7
Мой желаемого результата являются:
RFC Total Mes
AAA010101AAA 10556.000000 12
AAA010101AAA 0.0 11
... (When no data it's available just return 0.0 for the month)
AAA010101AAA 0.0 1
AAA010101BBB 0.0 12
AAA010101BBB 1856.000000 11
AAA010101BBB 66262.896800 10
AAA010101BBB 990.090000 9
AAA010101BBB 73.000000 8
AAA010101BBB 1304761.620000 7
AAA010101BBB 0.0 6
...
AAA010101BBB 0.0 1
Я хочу, чтобы заполнить таблицу, и мне нужно ноль, когда нет значения Foo не доступны суммы.
Спасибо.
try, IFNULL (SUM (f.total), 0) AS Total –
@AlwaysSunny, который не будет работать, мне нужно что-то, чтобы сгенерировать 12 месяцев, а затем суммировать только те, где есть данные для выполнения SUM() –