Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Nilai 'Jumlah' Maksimum untuk Setiap 'Nama' Unik dalam SQL?

Bagaimana untuk Mendapatkan Nilai 'Jumlah' Maksimum untuk Setiap 'Nama' Unik dalam SQL?

Susan Sarandon
Lepaskan: 2025-01-07 21:20:41
asal
471 orang telah melayarinya

How to Retrieve the Maximum

Petua SQL: Ekstrak nilai maksimum mengikut kumpulan

Dalam pertanyaan pangkalan data, selalunya perlu untuk mengekstrak nilai maksimum untuk setiap kumpulan berbeza dalam jadual. Artikel ini akan menyelesaikan masalah cara memilih rekod dengan nilai "Jumlah" tertinggi untuk setiap "Nama" unik dalam jadual.

Contoh jadual dan data:

Andaikan kita mempunyai jadual sampel berikut:

Name Top Total
cat 1 10
dog 2 7
cat 3 20
horse 4 4
cat 5 10
dog 6 9

Sasaran pertanyaan:

Matlamat kami adalah untuk mengekstrak keputusan berikut:

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

Penyelesaian:

Ini boleh dicapai menggunakan pertanyaan SQL berikut:

<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

Penjelasan:

Pertanyaan ini menggunakan subkueri dalam klausa WHERE. Subkueri mencari nilai maksimum "Jumlah" untuk setiap kumpulan berdasarkan "Nama". Pertanyaan luar kemudian menapis jadual dan memilih hanya rekod yang "Jumlah"nya sepadan dengan nilai maksimum ini.

Alternatif:

Alternatif untuk menggunakan cantuman dalaman:

<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

Kesimpulan:

Kedua-dua kaedah berkesan dalam mengekstrak rekod yang diperlukan daripada jadual dengan mengenal pasti nilai maksimum "Jumlah" untuk setiap "Nama" yang berbeza. Pertanyaan ini boleh disesuaikan dengan pelbagai sistem pengurusan pangkalan data dan menyediakan kaedah umum untuk mengekstrak nilai maksimum daripada data terkumpul.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai 'Jumlah' Maksimum untuk Setiap 'Nama' Unik 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