使用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中文网其他相关文章!