Rumah > pangkalan data > tutorial mysql > Bagaimana Mencari Baris dengan Nilai Terendah untuk Setiap Peniaga dalam MySQL?

Bagaimana Mencari Baris dengan Nilai Terendah untuk Setiap Peniaga dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-29 08:10:11
asal
462 orang telah melayarinya

How to Find the Row with the Lowest Value for Each Dealer in MySQL?

Mendapatkan Nilai Terendah untuk Setiap Peniaga dalam MySQL

Pertimbangkan pangkalan data dengan struktur berikut:

CREATE TABLE your_table (
  id INT NOT NULL,
  name VARCHAR(255) NOT NULL,
  value INT NOT NULL,
  dealer VARCHAR(255) NOT NULL
);
Salin selepas log masuk

Objektif: Dapatkan semula baris dengan nilai terendah untuk setiap unik peniaga.

Penyelesaian:

Penyelesaian 1:

SELECT t1.*
FROM your_table t1
JOIN (
  SELECT MIN(value) AS min_value, dealer
  FROM your_table
  GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value;
Salin selepas log masuk

Penyelesaian 2 (Disyorkan):

SELECT t1.*
FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL;
Salin selepas log masuk

Perbincangan:

Penyelesaian 1 menggunakan subkueri untuk mencari nilai minimum bagi setiap peniaga dan kemudian menggabungkan maklumat tersebut dengan jadual asal untuk mengumpul data baris yang lengkap. Penyelesaian 2, sebaliknya, menggunakan gabungan kiri yang dioptimumkan untuk menghapuskan sebarang baris dengan nilai yang lebih besar untuk peniaga yang sama, dengan berkesan mengembalikan hanya yang mempunyai nilai terendah.

MySQL menyediakan bahagian khusus dalam dokumentasinya untuk ini senario yang sering ditemui, bertajuk "Barisan Memegang Maksimum/Minimum dari Kumpulan Tertentu." Rujuk dokumentasi ini untuk butiran dan contoh lanjut.

Atas ialah kandungan terperinci Bagaimana Mencari Baris dengan Nilai Terendah untuk Setiap Peniaga dalam MySQL?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan