Menggunakan Oracle SQL untuk Mengekstrak Mata Data Terkini setiap Kumpulan Berdasarkan Cap Masa
Panduan ini menunjukkan beberapa kaedah untuk mendapatkan semula nilai terbaharu bagi setiap kumpulan dalam pangkalan data Oracle, disusun mengikut cap masa.
Pertanyaan Asas:
Pertanyaan berikut mendapatkan semula nilai terkini untuk setiap id
, bersama dengan tarikh dan kuantiti yang berkaitan:
<code class="language-sql">SELECT id, MAX(date) AS "DATE", MAX(quantity) AS "QUANTITY" FROM qtys GROUP BY id;</code>
Kaedah 1: Menapis mengikut Tetingkap Masa Tertentu (cth., XX Minit Terakhir)
Untuk mengehadkan keputusan kepada entri dalam XX minit terakhir, masukkan klausa WHERE
:
<code class="language-sql">SELECT id, date, quantity FROM qtys WHERE date > (SELECT MAX(date) - INTERVAL 'XX' MINUTE FROM qtys);</code>
Kaedah 2: Menggabungkan ID dengan Data Teks daripada Jadual Lain
Untuk menambah ID dengan teks yang sepadan daripada jadual bernama "nama id", gunakan pertanyaan berikut:
<code class="language-sql">SELECT t1.id || '-' || t2.idname AS "ID-IDNAME", MAX(t1.date) AS "DATE", MAX(t1.quantity) AS "QUANTITY" FROM qtys t1 INNER JOIN idnames t2 ON t1.id = t2.id GROUP BY t1.id;</code>
Hasil Ilustrasi:
Format output yang dijangkakan menyerupai ini:
<code>ID-IDNAME DATE QUANTITY ---------- ------------------- ---------- 1-testid1 2010-01-04 11:00 152 2-testid2 2010-01-04 11:00 210 3-testid3 2010-01-04 10:30 214 4-testid4 2010-01-04 10:45 122</code>
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Terkini Setiap Kumpulan dalam Oracle SQL Berdasarkan Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!