首頁  >  文章  >  資料庫  >  MySQL分組前如何依日期和時間排序?

MySQL分組前如何依日期和時間排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 01:10:29945瀏覽

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

在MySQL 中分組之前按日期和時間排序

取得儲存日期和時間的表中每個名稱的最舊記錄另外,有必要解決MySQL 操作順序中的固有問題。預設情況下,GROUP BY 先於 ORDER BY 應用,導致先分組後排序。在按名稱分組之前嘗試按日期和時間排序時,這可能會導致意外結果。

一個解決方案是利用子查詢:

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

在這種方法中,子查詢對結果按日期和時間升序排列。然後,子查詢的結果將輸入到外部查詢中,外部查詢會依名稱將記錄分組。透過將排序與分組分開,此方法可確保將每個名稱的最舊記錄放置在前面。

此方法提供了一種邏輯清晰的方法來實現所需的結果,因為子查詢專注於對資料進行排序而外部查詢則處理分組。這是一種可靠且有效的技術,用於在 MySQL 中按名稱分組之前按日期和時間排序。

以上是MySQL分組前如何依日期和時間排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn