Maison >base de données >tutoriel mysql >Comment trouver la dernière date pour chaque groupe et tous les modèles avec la dernière date de MySQL?
Obtenez la dernière date des données groupées MySQL
Pour obtenir la dernière date pour chaque groupe de modèles dans un ensemble de données donné, utilisez la requête suivante :
<code class="language-sql">SELECT model, MAX(date) AS latest_date FROM doc GROUP BY model;</code>
Cette requête regroupe d'abord les lignes de la table model
par la colonne doc
, puis trouve la plus grande date dans chaque groupe. Le résultat est un tableau à deux colonnes : model
(identifiant le groupe) et latest_date
(indiquant la dernière date du groupe).
Si vous avez besoin de trouver tous les modèles avec la dernière date globale :
<code class="language-sql">SELECT model, date FROM doc WHERE date = (SELECT MAX(date) FROM doc);</code>
Cette requête recherche toutes les lignes avec la même date que la dernière date dans l'ensemble du tableau.
Autres options
Pour les scénarios dans lesquels vous devez obtenir des détails sur chaque enregistrement correspondant à la dernière date, vous pouvez utiliser la requête suivante :
<code class="language-sql">SELECT d.model, d.date, d.color, d.etc FROM doc d WHERE d.date = (SELECT MAX(d2.date) FROM doc d2 WHERE d2.model = d.model);</code>
MySQL 8.0 et versions ultérieures fournissent la clause OVER
, qui peut fournir des résultats plus rapides pour des ensembles de données plus volumineux :
<code class="language-sql">SELECT model, date, color, etc FROM (SELECT model, date, color, etc, MAX(date) OVER (PARTITION BY model) AS max_date FROM doc) AS predoc WHERE date = max_date;</code>
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!