У меня есть таблица базы данных, в которой хранятся обновления членства каждый год.При вставке записи обновления столбец expiryDate записывается с датой (31/8 / [nextyear]).
Так, например, скажем, член с memberID = 99 обновляется в 2007 году,В 2008 и 2009 годах у него будет 3 записи (по одной на каждый год), с записью «expiryDate» в каждой.Если я сделаю
SELECT MAX(YEAR(expiryDate)) as maxExpiry
FROM renewals
WHERE memberID = 99
... я верну 2010 год.
Что я хотел бы сделать, это вернуть ВСЕ записи, где MAX(YEAR(expiryDate))
- это заданный год ... дляНапример,
SELECT *
FROM renewals
WHERE MAX(YEAR(expiryDate)) = '2010';
Этот запрос не будет работать, так как агрегация не может использоваться в предложении where вне подзапроса, но я не могу понять, как структурировать подзапрос ... илидаже если это можно сделать лучше, чем использовать подзапрос.