Я предполагаю, что есть столбец с именем billing_date, вам нужно обновить запрос с правильной отметкой времени.Это присваивает каждой учетной записи ранг, основанный на ее недавности, а затем отбрасывает только самые последние.Предполагается, что MySQL 8.0, вы можете имитировать это в более ранней версии.
select
*
from student std
left join (select
*, row_number() over (partition by reg_id order by billing_date desc) rn
from billing) bill on bill.reg_id = std.reg_id and rn=1