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!