So wählen Sie die 3 aktuellsten Datensätze mit eindeutigen Werten für eine bestimmte Spalte aus
Das Auswählen der aktuellsten Datensätze für eine bestimmte Tabelle ist ein gemeinsame Operation in Datenbanken. Allerdings kann es komplexer werden, wenn Sie sicherstellen möchten, dass die Werte für eine bestimmte Spalte eindeutig sind und Duplikate vermieden werden sollen. Diese Aufgabe erfordert einen differenzierteren Ansatz.
Im gegebenen Szenario versucht ein Benutzer, die drei aktuellsten Datensätze aus einer Tabelle auszuwählen, in der die Werte in der Spalte „otheridentifier“ unterschiedlich sind. Der erste Versuch mit SELECT * FROM table GROUP BY (otheridentifier) ORDER BY time DESC LIMIT 3 führt nicht zum gewünschten Ergebnis, da die Gruppierung Vorrang vor der Reihenfolge in der SQL-Anweisung hat.
Um diese Einschränkung zu überwinden, a Es ist eine ausführlichere 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
Diese Abfrage funktioniert, indem die folgenden Schritte ausgeführt werden:
Mit diesem Ansatz kann der Benutzer effektiv die drei neuesten Datensätze mit eindeutiger Unterscheidung auswählen Werte für die Spalte otheridentifier, was das gewünschte Ergebnis liefert.
Das obige ist der detaillierte Inhalt vonWie wähle ich die drei aktuellsten Datensätze mit eindeutigen Werten in einer bestimmten Spalte aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!