
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>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>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!
Perbezaan antara vscode dan visual studio
Apakah arahan yang biasa digunakan dalam vue?
Bagaimana untuk memulihkan pelayar IE untuk melompat ke EDGE secara automatik
Apakah tetapan memori maya yang sesuai?
Bagaimana untuk mempercepatkan halaman web
Perbezaan antara rawak dan pseudo-rawak
Apakah itu Bitcoin? Adakah ia satu penipuan?
Bagaimana untuk menyembunyikan alamat IP pada TikTok