Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Kembali Baris Terakhir setiap Kumpulan dengan Cekap dalam MySQL?

Bagaimana untuk Mendapatkan Kembali Baris Terakhir setiap Kumpulan dengan Cekap dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-12 15:19:01
asal
289 orang telah melayarinya

How to Efficiently Retrieve the Last Row per Group in MySQL?

Mendapatkan semula Baris 'Terakhir' bagi setiap Kumpulan dengan MySQL

Masalah:

Cari kaedah yang lebih cekap untuk mendapatkan semula baris terakhir untuk setiap kumpulan dalam jadual MySQL, menggunakan pertanyaan yang serupa kepada:

select * 
    from foo as a
    where a.id = (select max(id) from foo where uid = a.uid group by uid)
    group by uid;
Salin selepas log masuk

Potensi Penyelesaian:

Pertimbangkan pertanyaan alternatif ini:

SELECT t1.* FROM foo t1
  LEFT JOIN foo t2
    ON t1.id < t2.id AND t1.uid = t2.uid
WHERE t2.id is NULL;
Salin selepas log masuk

Penjelasan:

Pertanyaan ini Kiri Menyertai setiap baris dalam jadual dengan penggantinya berdasarkan lajur ID. Jika tiada pengganti wujud (iaitu, ia adalah baris terakhir dalam kumpulan), lajur t2.id akan menjadi NULL. Dengan menapis untuk NULL, kami mengasingkan baris terakhir setiap kumpulan dengan berkesan.

Nota Tambahan:

Gunakan EXPLAIN untuk menganalisis prestasi pertanyaan bagi pertanyaan asal dan alternatif penyelesaian.

Kaedah ini amat berguna untuk set data besar dan kumpulan kompleks. Untuk kes yang lebih mudah, pendekatan lain mungkin lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Baris Terakhir setiap Kumpulan dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan