Entsprechende Maximalwerte in SQL finden
Sie versuchen, bestimmte Werte aus Ihrer Tabelle „Videos“ abzurufen, in der das maximale Video jeder Kategorie angegeben ist Die ID sollte mit der passenden URL, dem Datum, dem Titel und der Beschreibung übereinstimmen. Allerdings wählt Ihre Abfrage derzeit die erste Zeile für diese Werte aus und nicht diejenigen, die mit der maximalen Video-ID verknüpft sind.
Um dieses Problem zu beheben und sicherzustellen, dass die Werte für verschiedene Spalten mit der maximalen Video-ID für jede Kategorie übereinstimmen können Sie eine SQL-Abfrage wie die folgende verwenden:
SELECT * FROM videos v WHERE v.video_id IN ( SELECT DISTINCT MAX(video_id) FROM videos GROUP BY video_category ) ORDER BY v.video_category ASC
Diese aktualisierte Abfrage garantiert, dass die Werte für URL, Datum, Titel und Beschreibung der maximalen Video-ID für jede Kategorie entsprechen. Es verwendet eine Unterabfrage, um die maximale Video-ID für jede Kategorie zu identifizieren, und filtert dann die Hauptabfrage, um die passenden Zeilen abzurufen.
Alternativ können Sie auch die folgende Abfrage verwenden:
SELECT * FROM videos s JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max ON s.video_id = max.id
Diese Abfrage verwendet einen Join, um die Tabelle „Videos“ basierend auf der maximalen Video-ID für jede Kategorie zu filtern und sicherzustellen, dass die ausgewählten Zeilen entsprechende Werte für URL, Datum, Titel und Beschreibung haben, die auf das maximale Video ausgerichtet sind ID.
Das obige ist der detaillierte Inhalt vonSo finden Sie passende Max-Video-IDs mit URLs, Daten,. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!