首页 >数据库 >mysql教程 >如何使用SQL查找每趟列车的最新目的地和出发时间?

如何使用SQL查找每趟列车的最新目的地和出发时间?

Patricia Arquette
Patricia Arquette原创
2025-01-22 07:16:09816浏览

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

使用GROUP BY查询中的MAX(Date)

问题

给定一个包含火车时刻表信息的表,例如火车号、目的地和出发时间,您如何在单行SQL中查找每列火车的最新目的地及其出发时间?

解答

为此,您可以结合使用排名函数和子查询:

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

细分:

  • 内部子查询使用RANK()函数为每列火车按出发时间创建排名的目的地列表。
  • 最外层的查询然后从dest_rank等于1的子查询中选择train、dest和time值,有效地返回每列火车的最新目的地。

以上是如何使用SQL查找每趟列车的最新目的地和出发时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn