"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Row maximale de date de requête SQL pour le montant de chèque non nul

Row maximale de date de requête SQL pour le montant de chèque non nul

Publié le 2025-04-14
Parcourir:531

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

Extraction des dernières entrées avec des valeurs de vérification non nuls d'une table SQL

Ce guide montre comment récupérer efficacement les enregistrements les plus récents pour chaque groupe, filtrant les montants de contrôle non nul. Supposons une table structurée comme ceci:

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

L'approche SQL suivante y parvient:

Tout d'abord, nous trouvons la date maximale pour chaque groupe où la valeur vérifie est supérieure à zéro:

SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;

cela donne:

group    max_date
  2    1/1/2013
  1    1/3/2013
  3    1/5/2013

Ensuite, nous rejoignons ce résultat à la table d'origine pour récupérer les montants correspondants :

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;

Cette requête finale produit la sortie souhaitée:

group    max_date    checks
  2    1/1/2013    800
  1    1/3/2013    700
  3    1/5/2013    200

Remarque importante: Utilisation des mots réservés (comme date ) comme les noms de colonnes est fortement découragé. Il peut entraîner des erreurs de syntaxe SQL et rendre votre code plus difficile à maintenir. Considérez les noms plus descriptifs et sans ambiguïté pour vos colonnes.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3