Maison >base de données >tutoriel mysql >Comment trier par date et heure avant de regrouper dans MySQL ?

Comment trier par date et heure avant de regrouper dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 01:10:291072parcourir

How to Sort by Date and Time Before Grouping in MySQL?

Classement par date et heure avant le regroupement dans MySQL

Pour obtenir l'enregistrement le plus ancien pour chaque nom dans une table où la date et l'heure sont stockées séparément, il est essentiel de résoudre un problème inhérent à l'ordre des opérations de MySQL. Par défaut, GROUP BY s'applique avant ORDER BY, ce qui entraîne un regroupement avant le tri. Cela peut conduire à des résultats inattendus lorsque vous tentez de trier par date et heure avant de regrouper par nom.

Une solution consiste à utiliser une sous-requête :

<code class="sql">SELECT *
FROM (
    SELECT * 
    FROM table_name
    ORDER BY date ASC, time ASC
) AS sub
GROUP BY name</code>

Dans cette approche, la sous-requête commande le résultats par date et heure par ordre croissant. Le résultat de la sous-requête est ensuite introduit dans la requête externe, qui regroupe les enregistrements par nom. En séparant le tri du regroupement, cette méthode garantit que l'enregistrement le plus ancien de chaque nom est placé en premier.

Cette méthode fournit un moyen logique et clair d'obtenir le résultat souhaité, car la sous-requête se concentre sur le classement des données. tandis que la requête externe gère le regroupement. C'est une technique fiable et efficace pour trier par date et heure avant de regrouper par nom dans MySQL.

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:
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