Pengoptimuman pertanyaan SQL: Mendapatkan baris unik dengan nilai minimum
Panduan ini menunjukkan teknik SQL yang cekap untuk mengekstrak baris unik yang mengandungi nilai minimum dari lajur tertentu. Ini sering diperlukan apabila berurusan dengan data dikumpulkan dan memerlukan gabungan gabungan dan penapisan.Pertimbangkan jadual sampel berikut:
<code class="language-sql">id game point 1 x 5 1 z 4 2 y 6 3 x 2 3 y 5 3 z 8</code>
dan id
untuk setiap point
unik, menunjukkan nilai minimum game
untuk permainan itu. Set hasil yang dijangkakan ialah: point
<code class="language-sql">id game point 1 z 4 2 y 6 3 x 2</code>
<code class="language-sql">SELECT tbl.* FROM TableName tbl INNER JOIN ( SELECT game, MIN(point) AS min_point FROM TableName GROUP BY game ) AS tbl1 ON tbl1.game = tbl.game AND tbl1.min_point = tbl.point;</code>
Join Inner:
TableName
tbl
tbl1
subquery: point
. Hasilnya adalah jadual dengan game
dan minimum yang sepadan MIN(point)
. game
game
point
pada klausa: game
. point
point
game
Pertanyaan yang dioptimumkan ini mengelakkan kerumitan yang tidak perlu dan secara langsung mengambil hasil yang diinginkan. Ini penyelesaian yang lebih ringkas dan lebih cepat daripada pendekatan alternatif. Atas ialah kandungan terperinci Bagaimana untuk mencari baris yang berbeza dengan nilai minimum dalam SQL menggunakan gabungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!