MySQL:為每個群組選擇具有最大日期時間的行
本指南示範如何有效率地擷取包含 MySQL 表中每個不同群組的最大日期時間值的行。 這是一個常見的 SQL 挑戰,通常涉及子查詢或視窗函數。
場景:
想像一個表格 (TopTen
) 追蹤不同家庭的玩家資源使用:
CREATE TABLE TopTen ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, home INT UNSIGNED NOT NULL, datetime DATETIME NOT NULL, player VARCHAR(6) NOT NULL, resource INT NOT NULL );
目標是為每個 home
尋找具有最新 (datetime
) 條目的記錄,包括該最新記錄中的 player
和 resource
資訊。
低效率方法(以及失敗的原因):
簡單的 GROUP BY
和 MAX()
無法直接工作,因為 GROUP BY
聚合數據,丟失像 player
這樣的非聚合列。 嘗試使用子查詢來尋找每個家庭的最大日期時間,然後連接回原始表通常會導致不正確或不完整的結果。
有效的解決方案:
最有效的解決方案利用帶有子查詢的自連接:
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;
此查詢的工作原理是:
-
子查詢 (
groupedtt
): 此內部查詢找出每個datetime
的最大值home
,並依home
將結果分組。 -
連接: 外部查詢將原始表(
TopTen
別名為tt
)與子查詢的結果連接起來。JOIN
條件確保只有與home
和最大datetime
都匹配的行才會包含在最終結果中。
此方法確保為每個 player
代表最大 resource
的行傳回原始表中的所有欄位(包括 datetime
和 home
)。 這可以避免資料遺失並提供所需的完整資訊。
以上是如何使用MySQL中每個家庭的Max DateTime選擇行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文探討了Docker中的優化MySQL內存使用量。 它討論了監視技術(Docker統計,性能架構,外部工具)和配置策略。 其中包括Docker內存限制,交換和cgroups

本文介紹了MySQL的“無法打開共享庫”錯誤。 該問題源於MySQL無法找到必要的共享庫(.SO/.DLL文件)。解決方案涉及通過系統軟件包M驗證庫安裝

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

本文比較使用/不使用PhpMyAdmin的Podman容器直接在Linux上安裝MySQL。 它詳細介紹了每種方法的安裝步驟,強調了Podman在孤立,可移植性和可重複性方面的優勢,還

本文提供了SQLite的全面概述,SQLite是一個獨立的,無服務器的關係數據庫。 它詳細介紹了SQLite的優勢(簡單,可移植性,易用性)和缺點(並發限制,可伸縮性挑戰)。 c

本指南展示了使用自製在MacOS上安裝和管理多個MySQL版本。 它強調使用自製裝置隔離安裝,以防止衝突。 本文詳細詳細介紹了安裝,起始/停止服務和最佳PRA

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器