在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中文網其他相關文章!