Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mencari baris yang berbeza dengan nilai minimum dalam SQL menggunakan gabungan?

Bagaimana untuk mencari baris yang berbeza dengan nilai minimum dalam SQL menggunakan gabungan?

DDD
Lepaskan: 2025-01-24 08:21:09
asal
320 orang telah melayarinya

How to Find Distinct Rows with Minimum Values in SQL Using Joins?

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>
Salin selepas log masuk
Objektifnya adalah untuk mengambil

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>
Salin selepas log masuk
pertanyaan SQL berikut mencapai ini:

<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>
Salin selepas log masuk
inilah pecahan pertanyaan:

Join Inner:
    ini dengan cekap menggabungkan
  • (alias sebagai ) dengan hasil subquery (alias sebagai ). TableName tbl tbl1 subquery:
  • Ini mengira minimum
  • untuk setiap unik menggunakan dan kumpulan hasilnya dengan point. Hasilnya adalah jadual dengan game dan minimum yang sepadan MIN(point). game game point pada klausa:
  • Keadaan gabungan memastikan bahawa hanya baris di mana
  • dan sepadan antara jadual utama dan subquery dimasukkan. Ini tepat memilih baris dengan minimum untuk setiap 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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan