Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Isyarat Maksimum untuk Setiap ID Unik dalam Set Data?

Bagaimana untuk Mencari Nilai Isyarat Maksimum untuk Setiap ID Unik dalam Set Data?

DDD
DDDasal
2025-01-06 13:10:38208semak imbas

How to Find the Maximum Signal Value for Each Unique ID in a Dataset?

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!

Kenyataan:
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