Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris dengan Rekod_Tarikh Minimum untuk Setiap ID Unik dalam Jadual?

Bagaimana untuk Memilih Baris dengan Rekod_Tarikh Minimum untuk Setiap ID Unik dalam Jadual?

Barbara Streisand
Lepaskan: 2025-01-17 20:20:13
asal
552 orang telah melayarinya

How to Select Rows with the Minimum Record_Date for Each Unique ID in a Table?

Mengambil Baris dengan Tarikh Rekod Terawal untuk Setiap ID Unik

Bekerja dengan jadual yang mengandungi nilai id pendua dan perlu memilih hanya baris dengan record_date yang paling awal untuk setiap id unik boleh menjadi rumit. Kaedah standard sering bergelut apabila nilai record_date tidak unik. Penyelesaian ini mengendalikan senario sedemikian dengan cekap:

Pertanyaan SQL berikut dengan berkesan memilih baris yang dikehendaki:

SELECT mt.*
FROM MyTable mt
INNER JOIN (
    SELECT id, MIN(record_date) AS MinDate
    FROM MyTable
    GROUP BY id
) t ON mt.id = t.id AND mt.record_date = t.MinDate;
Salin selepas log masuk

Pertanyaan ini menggunakan subkueri untuk terlebih dahulu menentukan minimum record_date bagi setiap id. Subkueri mengumpulkan baris mengikut id dan kemudian menggunakan fungsi MIN() untuk mencari record_date minimum dalam setiap kumpulan.

Pertanyaan luar kemudiannya menggabungkan hasil subkueri kembali ke jadual asal (MyTable) menggunakan kedua-dua id dan record_date. Ini memastikan bahawa hanya baris yang sepadan dengan minimum record_date untuk setiap id disertakan dalam set keputusan akhir. Ini berkesan mengalih keluar pendua dan hanya mengembalikan baris dengan record_date yang paling awal untuk setiap id unik.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan Rekod_Tarikh Minimum untuk Setiap ID Unik dalam Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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