Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Maksimum untuk Setiap Kumpulan dalam SQL?
Kaedah carian nilai maksimum kumpulan SQL
Artikel ini membincangkan cara mengekstrak rekod nilai "Jumlah" maksimum yang sepadan dengan setiap "Nama" unik daripada jadual yang mengandungi berbilang "Nama" tetapi nilai "Jumlah" yang berbeza.
Satu penyelesaian ialah menggunakan subkueri:
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
Subkueri ini mencari nilai "jumlah" maksimum untuk setiap "nama", dan pertanyaan utama menapis rekod yang sepadan.
Cara lain ialah menggunakan pertanyaan bersarang:
<code class="language-sql">SELECT Name, Top, Total FROM sometable INNER JOIN ( SELECT MAX(Total) AS Total, Name FROM sometable GROUP BY Name ) AS max ON max.Name = sometable.Name AND max.Total = sometable.Total;</code>
Pertanyaan bersarang ini mencipta jadual sementara yang mengandungi nilai "jumlah" maksimum untuk setiap "nama". Pertanyaan utama kemudiannya menyertai jadual sometable
dengan jadual sementara ini, di mana nilai "nama" dan "jumlah" sepadan. Hasil sambungan ialah rekod nilai "jumlah" maksimum yang sepadan dengan setiap "nama" unik.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Maksimum untuk Setiap Kumpulan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!