Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Maksimum untuk Setiap Kumpulan dalam SQL?

Bagaimana untuk Mencari Nilai Maksimum untuk Setiap Kumpulan dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-07 21:30:41968semak imbas

How to Find the Maximum Value for Each Group in 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!

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