In der bereitgestellten MySQL-Tabelle rpc_responses werden Antworten gespeichert zu RPC-Aufrufen mit Feldern wie Zeitstempel, Methode, ID und Antwort. Das Ziel besteht darin, die neuesten Antworten für bestimmte Kombinationen von Methode und ID abzurufen.
Um dies zu erreichen, können wir die ROW_NUMBER()-Funktion von MySQL mit einer Fensterklausel nutzen:
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY method, id ORDER BY timestamp DESC) AS row_num FROM rpc_responses ) AS subquery WHERE row_num = 1
Dies Die Abfrage verwendet eine Unterabfrage, um die Zeilennummer für jede eindeutige Kombination aus Methode und ID zu berechnen, sortiert in absteigender Reihenfolge nach dem Zeitstempelfeld. Die äußere Abfrage filtert dann die Ergebnisse, um nur die Zeilen mit der Zeilennummer 1 auszuwählen, die den neuesten Datensatz für jede Kombination darstellt.
Dieser Ansatz sollte die gewünschten Daten effizient abrufen, ohne dass komplexe Verknüpfungen oder temporäre Tabellen erforderlich sind .
Das obige ist der detaillierte Inhalt vonWie finde ich die aktuellsten Datensätze für jede Methoden- und ID-Kombination in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!