Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris Cap Masa Terkini untuk Setiap Kunci dalam SQL?

Bagaimana untuk Memilih Baris Cap Masa Terkini untuk Setiap Kunci dalam SQL?

Barbara Streisand
Lepaskan: 2024-12-17 16:45:11
asal
426 orang telah melayarinya

How to Select the Most Recent Timestamped Row for Each Key in SQL?

Memilih Baris Tercap Masa Terkini untuk Setiap Nilai Utama

Dalam mengurus data merentas berbilang entri, selalunya perlu untuk mengenal pasti dan mendapatkan semula rekod yang memegang cap masa terbaharu untuk kunci yang diberikan. Walaupun pendekatan mudah mungkin melibatkan pengumpulan mengikut kunci dan susunan mengikut cap masa maksimum, ini boleh menyebabkan ralat yang berkaitan dengan medan yang tidak muncul dalam kumpulan mengikut klausa.

Untuk mengatasi isu ini, struktur pertanyaan alternatif menawarkan penyelesaian yang berdaya maju:

SELECT sensorID,
       timestamp,
       sensorField1,
       sensorField2
FROM sensorTable s1
WHERE timestamp = (
    SELECT MAX(timestamp)
    FROM sensorTable s2
    WHERE s1.sensorID = s2.sensorID
)
ORDER BY sensorID, timestamp;
Salin selepas log masuk

Pertanyaan ini pada asasnya sepadan dengan setiap baris dalam sensorTable s1 dengan rakan sejawatannya yang dicap masa terkini dalam Jadual sensor s2. Klausa WHERE secara berkesan menapis semua baris kecuali baris yang mempunyai cap masa maksimum untuk setiap kunci, memastikan data yang dipilih adalah yang paling terkini. Dengan mengumpulkan hasil mengikut sensorID dan mengisih mengikut cap masa, pertanyaan mengembalikan satu baris dengan cap masa terkini untuk setiap kunci, bersama-sama dengan medan tambahan yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Cap Masa Terkini untuk Setiap Kunci dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan