tb:blog
### 需求:根據id進行分組,找到分組內hour中最大的一項
錯誤寫法:select
select id, max(hour) from tb group by id;im
正確的寫法:數據
### 需求:根據id進行分組,找到分組內hour中最大的一項### 1.根據id進行分組,列出id與max(hour);此時,是組內的未知序的第一條,max僅檢索hour列的最大值,與該行的其餘屬性無關SELECT id, max(hour), nameFROM tbGROUP BY id### 2.經過id, max(hour)再次和tb進行自鏈接,能夠僅保留上一個邏輯過濾分組剩下的,且經過on maxhour鏈接取得b表的hour項的數據SELECT a.id, a.maxhour, b.nameFROM ( SELECT id, max(hour) AS maxhour, name FROM tb GROUP BY id) a JOIN tb b ON a.id = b.id AND a.maxhour = b.hour