Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Baris Berbeza dengan Nilai Minimum untuk Setiap ID dan Cap Masa?
Apabila berurusan dengan data yang mengandungi berbilang baris untuk setiap pengecam dan nilai cap masa, adalah perlu untuk mengumpulkan data mengikut nilai minimum semasa memilih baris unik. Ini memastikan bahawa setiap pengecam hanya diwakili sekali dengan kejadian terawalnya.
Dalam jadual contoh yang disediakan, matlamatnya adalah untuk mengekstrak baris dengan record_date
terkecil untuk setiap id. Walau bagaimanapun, jadual mengandungi tarikh pendua, yang menjadikannya sukar untuk mencapai matlamat ini menggunakan kaedah tradisional.
Masalah ini boleh diselesaikan menggunakan subkueri berkorelasi dan gabungan dalaman:
<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>
Kaedah ini termasuk:
record_date
terkecil untuk setiap id. id
) dengan subkueri menggunakan medan record_date
dan MyTable
. Jadual hasil hanya mengandungi baris dengan record_date
terkecil untuk setiap id. Kaedah ini menghalang baris pendua daripada muncul dalam output.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Berbeza dengan Nilai Minimum untuk Setiap ID dan Cap Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!