【MySQL】sort by then group by

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
相關文章
相關標籤/搜索