Heim > Datenbank > MySQL-Tutorial > Wie wähle ich maximale Datumszeilen mit Scheckbeträgen ungleich Null in SQL aus?

Wie wähle ich maximale Datumszeilen mit Scheckbeträgen ungleich Null in SQL aus?

Barbara Streisand
Freigeben: 2025-01-08 13:18:44
Original
954 Leute haben es durchsucht

How to Select Maximum Date Rows with Non-Zero Check Amounts in SQL?

Neueste Einträge mit Prüfwerten ungleich Null aus einer SQL-Tabelle extrahieren

Diese Anleitung zeigt, wie Sie die neuesten Datensätze für jede Gruppe effizient abrufen und nach Scheckbeträgen ungleich Null filtern können. Nehmen wir eine Tabelle an, die wie folgt aufgebaut ist:

<code>group    date      cash  checks
  1    1/1/2013     0      0
  2    1/1/2013     0      800
  1    1/3/2013     0      700
  3    1/1/2013     0      600
  1    1/2/2013     0      400
  3    1/5/2013     0      200</code>
Nach dem Login kopieren

Der folgende SQL-Ansatz erreicht dies:

Zuerst ermitteln wir das maximale Datum für jede Gruppe, bei der der checks-Wert größer als Null ist:

<code class="language-sql">SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;</code>
Nach dem Login kopieren

Das ergibt:

<code>group    max_date
  2    1/1/2013
  1    1/3/2013
  3    1/5/2013</code>
Nach dem Login kopieren

Als nächstes fügen wir dieses Ergebnis wieder der Originaltabelle hinzu, um die entsprechenden checksBeträge abzurufen:

<code class="language-sql">SELECT t.group, t.date AS max_date, t.checks
FROM table t
INNER JOIN (
  SELECT group, MAX(date) AS max_date
  FROM table
  WHERE checks > 0
  GROUP BY group
) AS a ON a.group = t.group AND a.max_date = t.date;</code>
Nach dem Login kopieren

Diese letzte Abfrage erzeugt die gewünschte Ausgabe:

<code>group    max_date    checks
  2    1/1/2013    800
  1    1/3/2013    700
  3    1/5/2013    200</code>
Nach dem Login kopieren

Wichtiger Hinweis: Von der Verwendung reservierter Wörter (wie date) als Spaltennamen wird dringend abgeraten. Dies kann zu SQL-Syntaxfehlern führen und die Wartung Ihres Codes erschweren. Erwägen Sie aussagekräftigere und eindeutigere Namen für Ihre Spalten.

Das obige ist der detaillierte Inhalt vonWie wähle ich maximale Datumszeilen mit Scheckbeträgen ungleich Null in SQL aus?. 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