Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris dengan ID Versi Tertinggi untuk Setiap ID dalam MySQL?

Bagaimana untuk Memilih Baris dengan ID Versi Tertinggi untuk Setiap ID dalam MySQL?

Linda Hamilton
Lepaskan: 2024-11-29 01:12:10
asal
833 orang telah melayarinya

How to Select the Row with the Highest Version ID for Each ID in MySQL?

MySQL: Mengawal Pemilihan Baris yang Dikembalikan oleh Kumpulan

Dalam MySQL, mendapatkan semula baris dengan versi tertinggi untuk setiap ID boleh tugas yang kompleks. Walau bagaimanapun, terdapat pelbagai pendekatan yang boleh digunakan untuk mencapai objektif ini.

Satu kaedah ialah menggunakan subkueri:

SELECT *
FROM (SELECT * FROM table ORDER BY version_id DESC) t1
GROUP BY t1.id
Salin selepas log masuk

Subkueri ini mengisih baris dalam susunan menurun mengikut ID versi untuk setiap ID. Selepas itu, pertanyaan utama mengumpulkan baris yang diisih mengikut ID. Pendekatan ini mencipta jadual sementara dalam ingatan, tetapi ia boleh menjadi cekap jika indeks wujud pada lajur (id, version_id).

Strategi lain melibatkan pertanyaan bersarang:

SELECT *
FROM (SELECT id, max(version_id) as version_id FROM table GROUP BY id) t1
INNER JOIN table t2 on t2.id=t1.id and t1.version_id=t2.version_id
Salin selepas log masuk

Ini pertanyaan mengira ID versi maksimum untuk setiap ID dalam subkueri. Pertanyaan utama kemudiannya bergabung dengan subquery dengan jadual asal menggunakan lajur ID dan version_id untuk mendapatkan semula baris dengan ID versi maksimum.

Kedua-dua kaedah menyediakan penyelesaian yang berkesan untuk memilih baris dengan ID versi tertinggi untuk setiap ID . Pendekatan yang paling sesuai bergantung pada keperluan khusus dan pertimbangan prestasi aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan ID Versi Tertinggi untuk Setiap ID 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