Heim >Datenbank >MySQL-Tutorial >Wie wähle ich die drei aktuellsten Datensätze mit eindeutigen Werten in einer anderen Spalte aus?
Auswahl der neuesten Datensätze mit eindeutigen Werten: Ein überarbeiteter Ansatz
Die gestellte Frage bezieht sich auf das Abrufen der drei neuesten Datensätze aus einer Tabelle in einer Zeitspalte, mit der zusätzlichen Bedingung, dass diese Datensätze unterschiedliche Werte in einer anderen Spalte haben müssen, die als otheridentifier bezeichnet wird. Um dies zu erreichen, ist eine vielschichtige SQL-Abfrage erforderlich.
Mängel der ursprünglichen Abfrage
Die ursprünglich versuchte Abfrage stieß auf Einschränkungen aufgrund der inhärenten Reihenfolge der Operationen in SQL. Die Gruppierung erfolgt vor der Bestellung, was dazu führte, dass falsche Daten zurückgegeben wurden.
Die überarbeitete Abfrage
Um dieses Problem zu beheben, ist eine komplexere Abfrage erforderlich:
SELECT * FROM `table` WHERE `id` = ( SELECT `id` FROM `table` as `alt` WHERE `alt`.`otheridentifier` = `table`.`otheridentifier` ORDER BY `time` DESC LIMIT 1 ) ORDER BY `time` DESC LIMIT 3
Erklärung:
Das obige ist der detaillierte Inhalt vonWie wähle ich die drei aktuellsten Datensätze mit eindeutigen Werten in einer anderen Spalte aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!