Gunakan fungsi hubungan untuk mencari nilai maksimum setiap kumpulan
Dalam pangkalan data, adalah perkara biasa untuk mengumpulkan dan mengagregat data untuk mengekstrak cerapan yang bermakna. Satu fungsi agregat sedemikian adalah untuk memilih nilai maksimum bagi setiap kumpulan data.
Mari kita pertimbangkan jadual hipotesis yang dipanggil "out_pumptable" yang mengandungi maklumat penggunaan pam yang disusun mengikut nama pam ("nama"), nilai ("nilai") dan lajur lain ("Lajur Lain"). Data sampel kelihatan seperti ini:
<code>Name Value AnotherColumn ----------- Pump 1 8000.0 Something1 Pump 1 10000.0 Something2 Pump 1 10000.0 Something3 Pump 2 3043 Something4 Pump 2 4594 Something5 Pump 2 6165 Something6</code>
Pengumpulan dan pengagregatan maksimum
Untuk memilih nilai maksimum bagi setiap pam, kami menggunakan fungsi GROUP BY dan MAX() dalam SQL. Pertanyaan berikut boleh menyelesaikan tugasan ini:
<code>SELECT name, MAX(value) FROM out_pumptable GROUP BY name</code>
Pemahaman Pertanyaan
Selesaikan masalah kemasukan pendua
Dalam kod contoh yang diberikan, mungkin terdapat entri pendua untuk pam dengan nilai maksimum yang sama. Ini kerana pertanyaan memadankan setiap baris dengan nilai maksimum, menyebabkan entri berlebihan.
Untuk menyelesaikan masalah ini, kami boleh mengubah suai pertanyaan untuk memilih kombinasi "nama" dan "nilai" yang berbeza:
<code>SELECT DISTINCT name, MAX(value) FROM out_pumptable GROUP BY name</code>
Pengubahsuaian ini memastikan bahawa setiap pam hanya muncul sekali, walaupun ia mempunyai berbilang baris dengan nilai maksimum yang sama.
Atas ialah kandungan terperinci Bagaimana Mencari Nilai Maksimum untuk Setiap Kumpulan dalam Jadual Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!