在MySQL中提取最大的DateTime值,由另一列
分組 >資料庫查詢通常需要根據多種條件檢索特定資料。 經常執行的任務涉及選擇包含列的最大值的行,並由另一列分類。本指南以播放器效能表作為範例示範了MySQL解決方案。
>考慮一個名為“ topten”的表,帶有列id',“ home”,“ dateTime”,“ player”和“資源”的表。目的是使用每個唯一的“家庭”位置的最新(“ DateTime”)條目來獲取該行。在探索了各種方法(包括子征服和加入)之後,最有效的查詢被證明為:
此查詢在兩個階段中函數。 它首先產生一個臨時表('groupedtt'),該表儲存每個不同的「主頁」的最大「 dateTime」。 隨後,它使用“ home”和“ dateTime”作為加入條件,將“ topten”(“ tt”)加入“ ttt”)。 這樣可以確保僅傳回每個「家庭」的最大「 dateTime」行。
><code class="language-sql">SELECT tt.* FROM topten tt INNER JOIN (SELECT home, MAX(datetime) AS MaxDateTime FROM topten GROUP BY home) groupedtt ON tt.home = groupedtt.home AND tt.datetime = groupedtt.MaxDateTime;</code>
以上是如何在 MySQL 中擷取按 Home 分割區的具有最大日期時間值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!