Heim > Datenbank > MySQL-Tutorial > Wie wähle ich die neuesten Datensätze für jede Methoden- und ID-Kombination in MySQL aus?

Wie wähle ich die neuesten Datensätze für jede Methoden- und ID-Kombination in MySQL aus?

Mary-Kate Olsen
Freigeben: 2024-12-18 18:40:19
Original
227 Leute haben es durchsucht

How to Select the Latest Records for Each Method and ID Combination in MySQL?

So rufen Sie die neuesten datierten Datensätze aus einer MySQL-Tabelle ab

Beim Speichern zeitkritischer Daten in einer MySQL-Tabelle ist dies häufig erforderlich Rufen Sie die neuesten Datensätze für bestimmte Feldkombinationen ab. Das folgende Beispiel zeigt, wie dies erreicht wird, wenn es um eine Tabelle mit RPC-Antworten geht, die Felder wie Zeitstempel, Methoden und IDs enthält.

Frage

Stellen Sie sich eine Tabelle mit dem Namen vor rpc_responses mit der folgenden Struktur:

CREATE TABLE rpc_responses (
  timestamp DATE,
  method VARCHAR,
  id VARCHAR,
  response MEDIUMTEXT,
  PRIMARY KEY (timestamp, method, id)
);
Nach dem Login kopieren

Gegeben ist Folgendes Daten:

timestamp method id response
2009-01-10 getThud 16 "....."
2009-01-10 getFoo 12 "....."
2009-01-10 getBar 12 "....."
2009-01-11 getFoo 12 "....."
2009-01-11 getBar 16 "....."

Gewünschtes Ergebnis

Erhalten Sie eine Liste der neuesten Antworten für alle vorhandenen Kombinationen von Methode und ID:

timestamp method id response
2009-01-10 getThud 16 "....."
2009-01-10 getBar 12 "....."
2009-01-11 getFoo 12 "....."
2009-01-11 getBar 16 "....."

Antwort

Um dies zu erreichen, verwenden Sie Folgendes Abfrage:

SELECT * 
FROM (
    SELECT *,
    IF(@last_method = method, 0, 1) AS new_method_group,
    @last_method := method 
    FROM rpc_responses 
    ORDER BY method, timestamp DESC
) AS t1
WHERE new_method_group = 1;
Nach dem Login kopieren

Diese Abfrage ruft das gewünschte Ergebnis effizient ab, ohne dass Verknüpfungen erforderlich sind. Es behält auch die gewünschte Zeilenstruktur bei und stellt einen eindeutigen Datensatz für jede eindeutige Kombination aus Methode und ID bereit.

Das obige ist der detaillierte Inhalt vonWie wähle ich die neuesten Datensätze für jede Methoden- und ID-Kombination in MySQL aus?. 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