„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Abrufen Sie die neuesten Nachrichten für jeden Benutzer aus der Datenbank ab

Abrufen Sie die neuesten Nachrichten für jeden Benutzer aus der Datenbank ab

Gepostet am 2025-04-18
Durchsuche:745

How to Retrieve the Most Recent Message from Each User in a Database?

Die angegebene Abfrage, "aus Message Group by From_id", gibt die älteste Nachricht für jeden Benutzer anstelle der neuesten. Um dies zu korrigieren, ist ein alternativer Ansatz erforderlich.

Um die neuesten Nachrichten zu erhalten, müssen Sie den maximalen Zeitstempel für jeden Benutzer ermitteln und diese Informationen mit der Tabelle "Nachrichten" verbinden. Die folgende Abfrage führt dies aus:

T1.* Aus Nachrichten T1 Join (aus auswählen von_id, max (Zeitstempel) Zeitstempel aus der Nachrichtengruppe von von _id) T2 Auf t1.from_id = t2.from_id und t1.timestamp = t2.timestamp;

Diese Abfrage führt die folgenden Aussagen aus:

SELECT t1.* FROM messages t1
JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;
berechnet den neuesten Zeitstempel für jeden Benutzer in der Subquery "(SELECT AUSGEBNISSE) (Timestamp). Diese Unterabfrage mit der originalen "Nachrichten" -Tabelle mit "aus" von "aus" und "Zeitstempel" Spalten.

    Das Ergebnis ist eine Tabelle, die nur die neuesten Nachrichten für jeden Benutzer enthält und die gewünschte Funktionalität bietet.
  1. .
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3