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

Bagaimana untuk Mencari Masa Berlepas Maksimum untuk Setiap Kereta Api Menggunakan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-22 07:26:08648semak imbas

How to Find the Maximum Departure Time for Each Train Using SQL?

Gunakan GROUP BY dan MAX(DATE) untuk mencari masa berlepas maksimum bagi setiap kereta api

Dalam persekitaran pangkalan data, mengumpulkan rekod mengikut lajur tertentu membolehkan anda melakukan operasi pengagregatan pada data terkumpul. Dalam contoh ini, matlamatnya ialah untuk menentukan destinasi terkini (masa berlepas maksimum) yang dikaitkan dengan setiap kereta api dalam jadual data.

Untuk melakukan ini, kami boleh memanfaatkan pertanyaan SQL berikut:

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

Pertanyaan ini menggunakan subkueri untuk membuat jadual terbitan yang mengandungi kereta api, destinasi, masa berlepas dan kedudukan setiap masa berlepas kereta api. Fungsi ranking memberikan nombor jujukan kepada setiap masa berlepas dalam setiap kereta api, dengan masa terkini mendapat kedudukan tertinggi.

Kemudian, pertanyaan utama memilih baris dalam jadual terbitan dengan kedudukan masa berlepas bersamaan dengan 1. Secara berkesan ini hanya mengekstrak destinasi terkini untuk setiap kereta api, memastikan hasilnya mencerminkan output yang diingini:

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

Kaedah ini membolehkan anda menentukan destinasi terkini setiap kereta api menggunakan satu pernyataan SQL, sekali gus mencapai matlamat tugas analisis data anda.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Masa Berlepas Maksimum 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