Bagaimana untuk memilih baris unik dengan nilai minimum dalam pertanyaan SQL?
Dalam pangkalan data, selalunya perlu untuk mengekstrak rekod yang mengandungi nilai minimum lajur tertentu. Katakan jadual mengandungi lajur 'id', 'permainan' dan 'titik'. Untuk memilih satu-satunya baris dengan nilai 'titik' terkecil (dihimpunkan mengikut 'permainan'), anda boleh menggunakan pertanyaan SQL yang sah berikut:
<code class="language-sql">SELECT tbl.* FROM TableName tbl INNER JOIN ( SELECT Id, MIN(Point) MinPoint FROM TableName GROUP BY Id ) tbl1 ON tbl1.id = tbl.id WHERE tbl1.MinPoint = tbl.Point</code>
Pertanyaan ini memastikan bahawa hanya baris dengan nilai 'titik' terkecil untuk setiap 'id' unik dipilih. Subquery di dalam kurungan mengira nilai 'titik' minimum untuk setiap 'id' dan menyimpannya dalam lajur sementara 'MinPoint'. Pertanyaan utama kemudiannya bergabung dengan jadual asal ('TableName') dengan jadual sementara ini berdasarkan lajur biasa 'id'.
Dengan menapis syarat 'tbl1.MinPoint = tbl.Point', pertanyaan memastikan bahawa hanya baris yang nilai 'titik'nya sepadan dengan nilai minimum dalam setiap kumpulan 'id' dikembalikan. Ini akan menghasilkan output yang dikehendaki, di mana bagi setiap 'permainan' baris unik dengan nilai 'titik' terkecil dipilih.
Contoh:
Pertimbangkan borang berikut:
id | game | point |
---|---|---|
1 | x | 5 |
1 | z | 4 |
2 | y | 6 |
3 | x | 2 |
3 | y | 5 |
3 | z | 8 |
Melaksanakan pertanyaan di atas pada jadual ini akan menghasilkan output berikut:
id | game | point |
---|---|---|
1 | z | 4 |
2 | y | 6 |
3 | x | 2 |
Seperti yang anda lihat, pertanyaan mengenal pasti baris unik dengan betul dengan nilai 'mata' terkecil untuk setiap 'permainan'.
Nota: Terdapat ketidakkonsistenan antara data sampel asal dan keputusan Jadual keputusan telah diperbetulkan untuk menjadikannya konsisten dengan keputusan penyata SQL. Jadual hasil yang diperbetulkan menunjukkan baris dengan nilai id
terkecil untuk setiap point
. Jika anda perlu memilih nilai game
terkecil dengan point
mengumpulkan, anda perlu mengubah suai pernyataan SQL.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Unik dengan Nilai Minimum dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!