Getting different number of visitors using two different queries that should do the same job


I’m testing getting number of visitors in two different queries :
this is using server_time from matomo_log_link_visit_action

SELECT   log_link_visit_action.idvisit
            `matomo_log_link_visit_action` AS `log_link_visit_action`
             log_link_visit_action.idsite in (1)  AND log_link_visit_action.server_time <= '2022-01-20 20:01:00' 
						 AND log_link_visit_action.server_time >= '2022-01-20 14:30:00'  
						 GROUP BY (log_link_visit_action.idvisit)
						 ORDER BY (log_link_visit_action.idvisit);

and this one from visit_last_action_time from matomo_log_visit

								SELECT matomo_log_visit.idvisit 
				from matomo_log_visit
				where matomo_log_visit.visit_last_action_time <= '2022-01-20 20:01:00' 
						 AND matomo_log_visit.visit_last_action_time >= '2022-01-20 14:30:00'  ;
				GROUP BY (matomo_log_visit.idvisit)
						 ORDER BY (matomo_log_visit.idvisit);

it’s returning two different lists of idvisit, why?
I’m looking to get number of realtime visitors whith their URLs and I thought of getting Idvisits in specific time first, here it’s couple of hours diff for the sake of tests.