Heim > Datenbank > MySQL-Tutorial > Wie kann ich die neuesten Datensätze effizient aus einer veralteten MySQL-Tabelle abrufen?

Wie kann ich die neuesten Datensätze effizient aus einer veralteten MySQL-Tabelle abrufen?

Mary-Kate Olsen
Freigeben: 2024-12-24 09:43:14
Original
183 Leute haben es durchsucht

How to Efficiently Retrieve the Most Recent Records from a Dated MySQL Table?

Abrufen der neuesten Datensätze aus einer veralteten MySQL-Tabelle

Um die neuesten Antworten für alle vorhandenen Kombinationen von Methode und ID in einem auszuwählen MySQL-Tabelle mit der Struktur:

Table: rpc_responses

timestamp   (date)
method      (varchar)
id          (varchar)
response    (mediumtext)

PRIMARY KEY(timestamp,method,id)
Nach dem Login kopieren

Beachten Sie Folgendes Schritte:

  1. Erstellen Sie eine Unterabfrage zum Auswählen von Gruppierungen:

    SELECT *,
    if(@last_method=method,0,1) as new_method_group,
    @last_method:=method AS t1
    FROM rpc_responses
    ORDER BY method,timestamp DESC
    Nach dem Login kopieren
    • Die Variable @last_method wird mit einer leeren Zeichenfolge initialisiert.
    • Die if()-Anweisung erstellt eine new_method_group-Spalte, die den Beginn einer neuen Zeilengruppe mit angibt den gleichen Methodenwert.
  2. Filter für die erste Zeile in jeder Gruppe:

    WHERE new_method_group=1
    Nach dem Login kopieren

    Diese Bedingung stellt sicher, dass nur die Die aktuellste Zeile für jede Kombination aus Methode und Zeitstempel wird ausgewählt.

  3. Wählen Sie das Gewünschte aus Spalten:

    SELECT timestamp, method, id, response
    FROM t1
    Nach dem Login kopieren

Diese Abfrage gibt den gewünschten Ergebnissatz zurück, der die neuesten Antworten für alle vorhandenen Kombinationen aus Methode und ID enthält. Es ist effizient, weil es die Verwendung von Joins vermeidet und MySQL-Variablen nutzt, um den Übergang zwischen verschiedenen Methodengruppen zu verfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich die neuesten Datensätze effizient aus einer veralteten MySQL-Tabelle abrufen?. 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