Разумеется, они возвращают разное количество результатов - мой запрос разгруппировывает отфильтрованные значения обратно
Я за вас в вашу голову понимание не вложу. Что именно вам непонятно? Что вы попробовали, почему не получилось?
Select     tpm.Description, GROUP_CONCAT(tpm.id)
From       tests t 
Left Join  learningfiles tpm ON(tpm.TID = t.ID)
Group By   tpm.Description
HAVING     Max(t.YEAR) < 2024 and Min(t.YEAR) > 2022;