Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Destinasi Terkini dan Masa Berlepas untuk Setiap Kereta Api Menggunakan SQL?

Bagaimana Mencari Destinasi Terkini dan Masa Berlepas untuk Setiap Kereta Api Menggunakan SQL?

Patricia Arquette
Patricia Arquetteasal
2025-01-22 07:16:09818semak imbas

How to Find the Latest Destination and Departure Time for Each Train Using SQL?

Gunakan MAX(Tarikh) dalam GROUP BY query

Soalan

Memandangkan jadual yang mengandungi maklumat jadual kereta api seperti nombor kereta api, destinasi dan masa berlepas, bagaimana anda mencari destinasi terkini setiap kereta api dan masa berlepasnya dalam satu baris SQL?

Jawapan

Untuk melakukan ini, anda boleh menggunakan fungsi ranking digabungkan dengan subquery:

<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>

Segmentasi:

  • Subkueri dalam menggunakan fungsi RANK() untuk mencipta senarai kedudukan destinasi mengikut masa berlepas untuk setiap kereta api.
  • Pertanyaan paling luar kemudian memilih nilai kereta api, tujuan dan masa daripada subkueri dengan peringkat_dest bersamaan dengan 1, dengan berkesan mengembalikan destinasi terkini setiap kereta api.

Atas ialah kandungan terperinci Bagaimana Mencari Destinasi Terkini dan Masa Berlepas untuk Setiap Kereta Api Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn