Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Cari Rekod Terkini dalam Setiap Kumpulan Menggunakan SQL GROUP BY?
Mencari Rekod Terkini dalam Setiap Kumpulan dengan KUMPULAN OLEH
Untuk mengenal pasti rekod terkini dalam setiap kumpulan yang dikategorikan mengikut lajur tertentu, seperti ID pengirim, terdapat dua pilihan untuk dipertimbangkan:
Pilihan 1: Menentukan Cap Masa Terakhir Nilai
Teknik ini melibatkan pencarian nilai cap masa terkini untuk setiap kumpulan. Contoh pertanyaan untuk pendekatan ini ialah:
SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id
Pilihan 2: Menyertai pada Nilai Dikira
Kaedah lain ialah menggabungkan jadual asal dengan hasil subquery yang menentukan cap masa maksimum untuk setiap kumpulan. Pertanyaan berikut menunjukkan pendekatan ini:
SELECT t1.* FROM messages t1 JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2 ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;
Dengan menggunakan salah satu daripada kaedah ini, anda boleh mendapatkan semula mesej terbaharu untuk setiap ID pengirim yang berbeza, memberikan pandangan yang lebih komprehensif tentang perbualan terbaharu.
Atas ialah kandungan terperinci Bagaimana untuk Cari Rekod Terkini dalam Setiap Kumpulan Menggunakan SQL GROUP BY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!