Разумеется, они возвращают разное количество результатов - мой запрос разгруппировывает отфильтрованные значения обратно
Я за вас в вашу голову понимание не вложу. Что именно вам непонятно? Что вы попробовали, почему не получилось?
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;