Heim > Datenbank > MySQL-Tutorial > Wie rufe ich entsprechende Spaltenwerte für den Maximalwert in SQL ab?

Wie rufe ich entsprechende Spaltenwerte für den Maximalwert in SQL ab?

Patricia Arquette
Freigeben: 2024-12-29 22:00:20
Original
831 Leute haben es durchsucht

How to Retrieve Corresponding Column Values for the Maximum Value in SQL?

Entsprechende Spaltenwerte für den Maximalwert abrufen

In SQL können Situationen auftreten, in denen Sie Spaltenwerte abrufen möchten, die dem Maximalwert entsprechen Wert einer anderen Spalte und stellt gleichzeitig sicher, dass die abgerufenen Daten vorhanden sind genau.

Problem:

Wenn Sie eine Tabelle abfragen, um bestimmte Spalten abzurufen und die Ergebnisse basierend auf einer Spalte, z. B. einer Videokategorie, zu gruppieren, können Sie dies beobachten Maximaler Wert der angegebenen Spalte (z. B. video_id), es ruft den richtigen Wert ab, gibt aber die erste Zeile in der Tabelle für alle anderen Spalten zurück (z. B. video_url, video_date, video_title, und kurze_Beschreibung).

Lösung:

Um die Spalten, die dem Maximalwert entsprechen, ordnungsgemäß abzurufen, ziehen Sie den folgenden Ansatz in Betracht:

SELECT
    s.video_id
    ,s.video_category
    ,s.video_url
    ,s.video_date
    ,s.video_title
    ,s.short_description
FROM videos s
   JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max
      ON s.video_id = max.id
Nach dem Login kopieren

Dies Die Abfrage nutzt eine JOIN-Operation, um die Video-ID (video_id) aus der Unterabfrage, die die maximale Video-ID (id) für jede Videokategorie berechnet, mit der Video-ID aus den Videos abzugleichen Tisch. Durch die Verwendung der JOIN-Bedingung s.video_id = max.id wird sichergestellt, dass nur die Zeile mit der maximalen Video-ID für jede Kategorie zurückgegeben wird.

Dieser Ansatz liefert nicht nur die korrekten entsprechenden Werte für die maximale Video-ID ist aber auch deutlich schneller als die im ursprünglichen Beitrag vorgeschlagene Lösung.

Das obige ist der detaillierte Inhalt vonWie rufe ich entsprechende Spaltenwerte für den Maximalwert in SQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage