使用MAX(DATE)和GROUP BY子句找出最新目的地
本SQL查詢的目標是檢索每列火車的最新目的地,以最大出發時間為準。然而,當從GROUP BY子句中排除'Dest'列時,遇到錯誤“ora-00979 not a GROUP BY expression”,似乎與直覺相悖。
為了解決這個問題,我們可以利用RANK()視窗函數為每列火車組內的每個目的地分配一個排名。具體來說,排名最高的目的地將對應於最新的出發時間。
以下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>
查詢工作原理如下:
以上是如何使用 SQL 找出每班列車的最新目的地?的詳細內容。更多資訊請關注PHP中文網其他相關文章!