Cari nilai maksimum data terkumpul
Memandangkan jadual dengan berbilang lajur, tugas biasa adalah untuk mengenal pasti nilai maksimum dalam kumpulan tertentu. Dalam contoh yang diberikan, kami mempunyai data yang berkaitan dengan pam (Pump1 dan Pump2) dengan nilai berbeza dan lajur tambahan (Lajur Lain) . Matlamatnya adalah untuk mendapatkan nilai maksimum bagi setiap pam.
Satu pendekatan mungkin melibatkan penggunaan subkueri untuk memilih nilai maksimum yang dikumpulkan mengikut lajur nama:
<code class="language-sql">select name, max(value) as value from out_pumptable group by name</code>
Walau bagaimanapun, seperti yang dinyatakan dalam soalan, pendekatan ini mungkin boleh dilakukan jika terdapat berbilang maksimum untuk kumpulan tertentu (dalam kes ini, Pam 1 mempunyai dua entri dengan maks yang sama) Entri pendua akan dikembalikan.
Untuk menyelesaikan masalah ini, anda boleh menggunakan kata kunci DISTINCT untuk memastikan bahawa hanya nilai maksimum berbeza dikembalikan:
<code class="language-sql">select name, max(value) as value from out_pumptable group by name having max(value) not in (select value from out_pumptable group by value having count(*) > 1)</code>
Pengubahsuaian ini menyemak sama ada nilai maksimum adalah unik merentas jadual (menggunakan subkueri). Jika nilai itu tidak unik, ia dikecualikan daripada keputusan. Kaedah ini lebih tepat mewakili nilai maksimum bagi setiap pam.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Maksimum Unik untuk Data Dikumpulkan dalam Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!