Maison > base de données > tutoriel mysql > Comment sélectionner des lignes de date maximales avec des montants de chèque non nuls dans SQL ?

Comment sélectionner des lignes de date maximales avec des montants de chèque non nuls dans SQL ?

Barbara Streisand
Libérer: 2025-01-08 13:18:44
original
1018 Les gens l'ont consulté

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

Extraction des dernières entrées avec des valeurs de contrôle non nulles à partir d'une table SQL

Ce guide montre comment récupérer efficacement les enregistrements les plus récents pour chaque groupe, en filtrant les montants de chèques non nuls. Supposons un tableau structuré comme ceci :

<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>
Copier après la connexion

L'approche SQL suivante permet d'y parvenir :

Tout d'abord, on trouve la date maximale pour chaque groupe où la checks valeur est supérieure à zéro :

SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;
Copier après la connexion

Cela donne :

<code>group    max_date
  2    1/1/2013
  1    1/3/2013
  3    1/5/2013</code>
Copier après la connexion

Ensuite, nous joignons ce résultat au tableau d'origine pour récupérer les checks 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;
Copier après la connexion

Cette requête finale produit le résultat souhaité :

<code>group    max_date    checks
  2    1/1/2013    800
  1    1/3/2013    700
  3    1/5/2013    200</code>
Copier après la connexion

Remarque importante : L'utilisation de mots réservés (comme date) comme noms de colonnes est fortement déconseillée. Cela peut entraîner des erreurs de syntaxe SQL et rendre votre code plus difficile à maintenir. Envisagez des noms plus descriptifs et sans ambiguïté pour vos colonnes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal