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

如何使用 SQL 找出每班列車的最大發車時間?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-22 07:26:08613瀏覽

How to Find the Maximum 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>

此查詢利用子查詢建立一個衍生表,其中包含火車、目的地、出發時間以及每列火車的出發時間的排名。排名函數為每列火車內的每個出發時間分配一個順序號,最新的時間獲得最高的排名。

然後,主查詢選擇派生表中出發時間排名等於1的行。實際上,這只提取每列火車的最新目的地,確保結果反映所需的輸出:

<code>火车    目的地      时间
1        SZ        14:00
2        HK        13:00</code>

此方法可讓您使用單一SQL語句來確定每列火車的最新目的地,從而完成資料分析任務的目標。

以上是如何使用 SQL 找出每班列車的最大發車時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn