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
472 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:

<code class="language-sql">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;</code>
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!

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