group by 按照名字或者其他屬性分組后,如果id是自增情況下,一般返回結果都是取得按照某個屬性分好組后,id最小的那條數據,如下
數據如上圖所示,現在先分組查詢一下看看
可以看到,返回的果然是每組中id最小的數據
這時,有個這樣的業務需求,就是要查詢每個用戶最新的數據,此時我想的是先按時間降序,然后在分組取第一個於是
咦?我是按照時間降序了,為什么查詢結果還是這樣呢?原因就是上面的group by會返回每組中id最小的數據,於是,接下來可以這樣寫
重點是在划紅框的部分,加上having 1后 可以使group by忽略取id最小的,而是取每組第一個