Eindeutig aktuelle Datensätze mit SQL auswählen
Bei dieser Abfrage besteht die Aufgabe darin, die drei neuesten Datensätze aus einer Tabelle zu extrahieren und gleichzeitig sicherzustellen, dass dies der Fall ist Die Werte in einer bestimmten Spalte, otheridentifier, sind unterschiedlich. Die folgende SQL-Anweisung wurde versucht:
SELECT * FROM `table` GROUP BY (`otheridentifier`) ORDER BY `time` DESC LIMIT 3
Diese Abfrage lieferte jedoch unerwartete Ergebnisse, da in SQL die Gruppierung Vorrang vor der Reihenfolge hat. Um das gewünschte Ergebnis zu erzielen, ist ein komplexerer Ansatz 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
Diese Abfrage besteht aus einer verschachtelten Select-Anweisung, die den neuesten Datensatz für jeden eindeutigen otheridentifier-Wert identifiziert. Das Ergebnis wird dann gefiltert, um sicherzustellen, dass nur die drei neuesten Datensätze abgerufen werden.
Das obige ist der detaillierte Inhalt vonWie wähle ich die drei neuesten eindeutigen Datensätze in SQL aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!