Dies erreichen Sie mit dem MAX
Gruppenfunktion. Ich habe die Abfrage ein wenig aufgeräumt, aber im Grunde sollte die gleiche Logik beibehalten werden, die Sie zuvor hatten, während sie etwas optimierbarer ist. Ändern Sie einfach a.date_time für das Feld Datum/Uhrzeit in Ihrer Tabelle.
SELECT
a.visitorid,
MAX( a.date_time ) AS last_visit_date_time,
b.onlinestatus,
b.username,
b.age,
FROM tbl_visitprofile a
INNER JOIN tbl_user b
ON b.id = a.visitorid
AND b.STATUS != '2'
LEFT JOIN tbl_pauseusers p
ON p.user_id = a.visitorid
WHERE a.visitmemberid = '10'
AND a.blockstatus = '0'
AND p.user_id IS NULL
GROUP BY a.visitorid
ORDER BY last_visit_date_time DESC
LIMIT 0 , 12;
Dadurch werden die Datensätze nach Datum/Uhrzeit des letzten Besuchs sortiert und die letzten 12 zurückgegeben.