首頁 >資料庫 >mysql教程 >如何使用SQL找出每班列車的最新目的地和出發時間?

如何使用SQL找出每班列車的最新目的地和出發時間?

Patricia Arquette
Patricia Arquette原創
2025-01-22 07:16:09818瀏覽

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