Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Baris Berbeza dengan Nilai Minimum dalam SQL?

Bagaimana untuk Mengambil Baris Berbeza dengan Nilai Minimum dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-24 08:17:08194semak imbas

How to Retrieve Distinct Rows with the Minimum Value in SQL?

Mengekstrak baris unik dengan nilai minimum menggunakan SQL

pertanyaan SQL sering melibatkan memilih baris tertentu berdasarkan keadaan yang ditetapkan. Senario yang sama adalah mengambil semula baris dengan nilai minimum dalam lajur, sambil memastikan bahawa hanya baris unik yang dikembalikan.

mari kita ilustrasikan dengan jadual sampel ini:

<code>id | game | point
-------+--------+--------
1  | x    | 5
1  | z    | 4
2  | y    | 6
3  | x    | 2
3  | y    | 5
3  | z    | 8</code>
Untuk mendapatkan

dengan nilai id terendah untuk setiap point, kita boleh menggunakan subquery dan gabungan dalaman. Subquery mengenal pasti minimum game untuk setiap point: id

<code class="language-sql">SELECT Id, MIN(Point) AS MinPoint
FROM TableName
GROUP BY Id</code>
Subquery ini menghasilkan

s dan nilai minimum masing -masing id masing -masing. Pertanyaan utama kemudian menyertai hasil ini dengan jadual asal, penapisan untuk baris yang sepadan dengan mata minimum: point

<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>
output pertanyaan:

<code>id | game | point
-------+--------+--------
1  | z    | 4
3  | x    | 2
2  | y    | 6</code>
Kaedah ini mengembalikan baris unik yang mengandungi nilai minimum

untuk setiap point, menyediakan dataset yang bersih untuk analisis berikutnya. id

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Baris Berbeza dengan Nilai Minimum dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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