Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Pengecam Unik dalam SQL?

Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Pengecam Unik dalam SQL?

DDD
Lepaskan: 2025-01-24 08:01:12
asal
151 orang telah melayarinya

How to Retrieve Rows with Minimum Values for Each Unique Identifier in SQL?

Penapisan cekap SQL: dapatkan baris nilai minimum untuk setiap pengecam unik

Dalam pengurusan pangkalan data, selalunya perlu untuk mengekstrak rekod dengan nilai unik dan nilai minimum yang sepadan. Katakan terdapat jadual yang mengandungi lajur pengecam unik dan lajur nilai yang berkaitan, dan matlamatnya adalah untuk mendapatkan semula baris yang sepadan dengan nilai minimum daripada setiap pengecam unik.

Cabaran

Pertimbangkan borang berikut:

id game point
1 x 5
1 z 4
2 y 6
3 x 2
3 y 5
3 z 8

Matlamatnya adalah untuk mencari baris dengan nilai game terkecil untuk setiap nilai point unik. Output yang dijangkakan adalah seperti berikut:

id game point
1 z 4
2 y 6
3 x 2

Penyelesaian

Ini boleh dicapai menggunakan pertanyaan SQL berikut:

<code class="language-sql">SELECT tbl.*
FROM TableName tbl
INNER JOIN (
    SELECT Id, MIN(Point) AS MinPoint
    FROM TableName
    GROUP BY Id
) tbl1 ON tbl1.id = tbl.id
WHERE tbl1.MinPoint = tbl.Point;</code>
Salin selepas log masuk

Penjelasan

    Pertanyaan dalam
  • mengira nilai Id minimum untuk setiap Point unik dan menyimpan hasil dalam jadual terbitan tbl1.
  • Pertanyaan utama menyertai jadual asal Id dengan TableName berdasarkan lajur tbl1 biasa.
  • Akhir sekali, ia menapis hasil untuk hanya memasukkan baris dengan nilai Point terkecil (daripada tbl1) sepadan dengan nilai Point dalam jadual asal.

Dengan menggunakan pertanyaan ini, anda boleh mendapatkan semula baris unik dengan nilai game terkecil yang dikumpulkan mengikut lajur Point.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Pengecam Unik dalam SQL?. 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