Мой текущий запрос MySQL:
SELECT MAX( s.con_grade ) AS max, YEAR( u.sent_date ) AS year
FROM pdb_usersectionmap u
LEFT JOIN pdb_sections s ON u.section_id = s.id
WHERE u.user_id =21
AND YEAR( u.sent_date ) > '2004-01-01'
GROUP BY YEAR( u.sent_date )
ORDER BY u.sent_date ASC
(год и идентификатор пользователя генерируются динамически в PHP)
Я пытаюсь отобразить результаты за последние 5 лет. В некоторых случаях у пользователя может не быть МАКСА на этот год. Например, этот пользователь имеет записи только за последние 3 года (но не ранее):
max year
5 2007
6.05 2008
7 2009
Мой вопрос:
Если я скажу MySQL искать записи в определенные годы, есть ли способ для MySQL вернуть «0» за год, если не найдено ни одной записи?
В идеале, я бы хотел, чтобы результат был (сэкономил бы мне много времени):
year max
2005 0
2006 0
2007 5
2008 6.05
2009 7