Anda dapat mencapai ini menggunakan MAX
fungsi kelompok. Saya telah membersihkan kueri sedikit tetapi pada dasarnya ini harus mempertahankan logika yang sama dengan yang Anda miliki sebelumnya sementara sedikit lebih dapat dioptimalkan. Cukup ubah a.date_time untuk apa pun bidang tanggal waktu di tabel Anda.
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;
Ini akan memesan catatan berdasarkan tanggal/waktu kunjungan terakhir dan mengembalikan 12 terakhir.