Menentukan Nilai Isyarat Maksimum untuk ID Unik
Jadual yang disediakan mengandungi berbilang rakaman isyarat untuk ID yang sama, menjadikannya perlu untuk mendapatkan yang tertinggi nilai isyarat untuk setiap ID. Menggunakan fungsi MAX() sahaja boleh menimbulkan masalah kerana ia mengagregatkan semua rekod, menjejaskan lajur Station dan OwnerID.
Penyelesaian Pertanyaan dengan Sertaan Sendiri dan Pengecualian
Kepada asingkan nilai isyarat tertinggi untuk setiap ID, pertimbangkan pendekatan sambung sendiri. Teknik ini melibatkan penggabungan jadual dengan dirinya sendiri untuk membolehkan perbandingan dan penapisan.
Pertanyaan berikut memanfaatkan pendekatan ini:
select cur.id, cur.signal, cur.station, cur.ownerid from yourtable cur where not exists ( select * from yourtable high where high.id = cur.id and high.signal > cur.signal )
Pertanyaan ini beroperasi seperti berikut:
Output pertanyaan ini akan termasuk satu baris untuk setiap ID dengan nilai isyarat tertinggi yang berkaitan. Pendekatan ini berkesan menyelesaikan isu mengagregat stesen dan ID pemilik yang berbeza untuk ID yang sama.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Isyarat Maksimum untuk Setiap ID Unik dalam Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!