Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Isih mengikut Tarikh dan Masa Sebelum Pengumpulan dalam MySQL?

Bagaimana untuk Isih mengikut Tarikh dan Masa Sebelum Pengumpulan dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 01:10:29944semak imbas

How to Sort by Date and Time Before Grouping in MySQL?

Pemesanan mengikut Tarikh dan Masa Sebelum Pengumpulan dalam MySQL

Untuk mendapatkan rekod tertua bagi setiap nama dalam jadual di mana tarikh dan masa disimpan secara berasingan, adalah penting untuk menangani isu yang wujud dalam susunan operasi MySQL. Secara lalai, GROUP BY digunakan sebelum ORDER BY, menghasilkan pengumpulan sebelum mengisih. Ini boleh membawa kepada hasil yang tidak dijangka apabila cuba mengisih mengikut tarikh dan masa sebelum mengumpulkan mengikut nama.

Satu penyelesaian ialah menggunakan subkueri:

<code class="sql">SELECT *
FROM (
    SELECT * 
    FROM table_name
    ORDER BY date ASC, time ASC
) AS sub
GROUP BY name</code>

Dalam pendekatan ini, subkueri memerintahkan keputusan mengikut tarikh dan masa dalam tertib menaik. Hasil subkueri kemudiannya dimasukkan ke dalam pertanyaan luar, yang mengumpulkan rekod mengikut nama. Dengan mengasingkan pengisihan daripada kumpulan, kaedah ini memastikan rekod tertua untuk setiap nama diletakkan dahulu.

Kaedah ini menyediakan cara yang logik dan jelas untuk mencapai hasil yang diingini, kerana subkueri memfokuskan pada memesan data manakala pertanyaan luar mengendalikan pengelompokan. Ia merupakan teknik yang boleh dipercayai dan berkesan untuk mengisih mengikut tarikh dan masa sebelum mengumpulkan mengikut nama dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Isih mengikut Tarikh dan Masa Sebelum Pengumpulan dalam MySQL?. 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