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

Bagaimana untuk Mencari Jumlah Maksimum untuk Setiap Kumpulan Nama dalam SQL?

Patricia Arquette
Lepaskan: 2025-01-07 21:11:44
asal
295 orang telah melayarinya

How to Find the Maximum Total for Each Name Group in SQL?

nilai maksimum pertanyaan kumpulan SQL

Soalan ini direka bentuk untuk mengekstrak data tertentu daripada jadual, dengan matlamat mencari rekod dengan nilai "Jumlah" tertinggi untuk setiap medan "Nama" unik. Ini berbeza dengan masalah mencari rekod terakhir setiap kumpulan.

Berikut ialah dua kaedah pertanyaan SQL untuk mencapai matlamat ini:

Kaedah 1: 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>
Salin selepas log masuk

Pertanyaan ini menggunakan subkueri untuk mencari nilai Name maksimum dalam setiap kumpulan Total dan kemudian memilih hanya rekod yang sepadan dengan nilai maksimum tersebut.

Kaedah 2: Sambungan diri

<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>
Salin selepas log masuk

Pertanyaan ini menggunakan INNER JOIN untuk menyertai sometable dengan subkueri yang mengira nilai Name maksimum untuk setiap kumpulan Total. Syarat INNER JOIN memastikan bahawa hanya rekod yang nilai Totalnya sepadan dengan nilai maksimum untuk setiap kumpulan dipilih.

Kedua-dua kaedah memberikan hasil yang sama:

Name Top Total
cat 3 20
horse 4 4
dog 6 9

Atas ialah kandungan terperinci Bagaimana untuk Mencari Jumlah Maksimum untuk Setiap Kumpulan Nama dalam SQL?. 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