Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die neuesten Werte pro Gruppe in Oracle SQL basierend auf der Zeit ab?

Wie rufe ich die neuesten Werte pro Gruppe in Oracle SQL basierend auf der Zeit ab?

Mary-Kate Olsen
Freigeben: 2025-01-21 15:31:09
Original
268 Leute haben es durchsucht

How to Retrieve the Latest Values Per Group in Oracle SQL Based on Time?

Verwendung von Oracle SQL zum Extrahieren der neuesten Datenpunkte pro Gruppe basierend auf dem Zeitstempel

Diese Anleitung demonstriert verschiedene Methoden zum Abrufen der neuesten Werte für jede Gruppe in einer Oracle-Datenbank, geordnet nach einem Zeitstempel.

Grundlegende Frage:

Die folgende Abfrage ruft den neuesten Wert für jedes id zusammen mit dem zugehörigen Datum und der zugehörigen Menge ab:

<code class="language-sql">SELECT id, MAX(date) AS "DATE", MAX(quantity) AS "QUANTITY"
FROM qtys
GROUP BY id;</code>
Nach dem Login kopieren

Methode 1: Filtern nach einem bestimmten Zeitfenster (z. B. Letzte XX Minuten)

Um die Ergebnisse auf Einträge innerhalb der letzten XX Minuten zu beschränken, fügen Sie eine WHERE-Klausel ein:

<code class="language-sql">SELECT id, date, quantity
FROM qtys
WHERE date > (SELECT MAX(date) - INTERVAL 'XX' MINUTE FROM qtys);</code>
Nach dem Login kopieren

Methode 2: Kombinieren von IDs mit Textdaten aus einer anderen Tabelle

Um IDs mit entsprechendem Text aus einer Tabelle namens „idnames“ anzuhängen, verwenden Sie die folgende Abfrage:

<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>
Nach dem Login kopieren

Anschauliche Ergebnisse:

Das erwartete Ausgabeformat ähnelt diesem:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich die neuesten Werte pro Gruppe in Oracle SQL basierend auf der Zeit ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage