Maison >base de données >tutoriel mysql >Comment trouver la dernière destination et l'heure de départ de chaque train à l'aide de SQL ?

Comment trouver la dernière destination et l'heure de départ de chaque train à l'aide de SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-22 07:16:09818parcourir

How to Find the Latest Destination and Departure Time for Each Train Using SQL?

Utilisez MAX(Date) dans la requête GROUP BY

Question

À partir d'un tableau contenant des informations sur les horaires des trains telles que le numéro du train, la destination et l'heure de départ, comment trouver la dernière destination de chaque train et son heure de départ sur une seule ligne SQL ?

Réponse

Pour ce faire, vous pouvez utiliser une fonction de classement combinée à une sous-requête :

<code class="language-sql">SELECT train, dest, time
FROM (
  SELECT train, dest, time,
    RANK() OVER (PARTITION BY train ORDER BY time DESC) dest_rank
  FROM traintable
)
WHERE dest_rank = 1;</code>

Segmentation :

  • La sous-requête interne utilise la fonction RANK() pour créer une liste classée des destinations par heure de départ pour chaque train.
  • La requête la plus externe sélectionne ensuite les valeurs de train, de destination et de temps dans la sous-requête avec dest_rank égal à 1, renvoyant effectivement la dernière destination de chaque train.

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