Mendapatkan Nilai Isyarat Maksimum untuk ID Unik
Untuk menentukan nilai isyarat maksimum bagi setiap ID unik dalam set data tertentu, anda boleh menggunakan pendekatan berikut, yang melibatkan operasi cantum sendiri:
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 berfungsi dengan menyertai jadual dengan sendiri (diwakili oleh alias cur dan tinggi) dan menapis baris yang wujud nilai isyarat yang lebih tinggi. Hasilnya ialah senarai baris yang mengandungi ID, nilai isyarat, stesen dan ID pemilik untuk setiap ID berbeza dengan nilai isyarat tertinggi.
Dalam konteks jadual contoh yang disediakan:
ID Signal Station OwnerID 111 -120 Home 1 111 -130 Car 1 111 -135 Work 2 222 -98 Home 2 222 -95 Work 1 222 -103 Work 2
Melaksanakan pertanyaan akan menghasilkan keputusan berikut:
ID Signal Station OwnerID 111 -120 Home 1 222 -95 Work 1
Jadual ini mengandungi nilai isyarat maksimum untuk setiap ID unik, menyelesaikan dengan berkesan masalah asal tanpa pengagregatan data yang tidak perlu atau keperluan untuk gabungan jadual tambahan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Isyarat Maksimum untuk Setiap ID Unik dalam Set Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!