Verwendung von DISTINCT und ORDER BY in einer einzelnen SELECT-Anweisung
Bei dem Versuch, Duplikate aus einer Ergebnismenge zu entfernen und gleichzeitig die Daten nach a zu ordnen An einem bestimmten Datum sind Sie auf ein Problem gestoßen, bei dem DISTINCT und ORDER BY nicht zusammenzuarbeiten scheinen erwartet.
Die Herausforderung entsteht, wenn die in der ORDER BY-Klausel verwendete Spalte nicht in der DISTINCT-Funktion angegeben ist. Um dies zu beheben, ist es notwendig, eine Aggregatfunktion innerhalb von DISTINCT zu verwenden und die Daten nach der gewünschten Kategorie zu gruppieren.
Um das gewünschte Ergebnis zu erzielen, berücksichtigen Sie den folgenden Code:
SELECT DISTINCT Category, MAX(CreationDate) FROM MonitoringJob GROUP BY Category ORDER BY MAX(CreationDate) DESC, Category
Dies Die Abfrage verwendet die Aggregatfunktion MAX(CreationDate), um die Zeilen nach ihrem letzten Erstellungsdatum zu sortieren. Die GROUP BY-Klausel stellt sicher, dass nur unterschiedliche Kategorien in der Ergebnismenge enthalten sind. Abschließend wird die ORDER BY-Klausel auf die Aggregatfunktion und die Kategoriespalte angewendet, um sicherzustellen, dass die Kategorien in der angegebenen Weise geordnet sind.
Das obige ist der detaillierte Inhalt vonWie kann ich DISTINCT und ORDER BY zusammen in einer einzigen SQL-SELECT-Anweisung verwenden, um Duplikate zu entfernen und nach Datum zu sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!