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 中国語 Web サイトの他の関連記事を参照してください。