我現在有一種統計表,要根據一個字段分組然后根據更新時間,每個分組獲取最新的一條記錄。命名感覺挺簡單的一個需求,然而沒什么思路,當然是問度娘了。
度娘的答案很統一,然而都不管用,都是報錯的,不知道是不是因為mysql5.7的原因,不過我記得group by也是不能查出整條記錄的,為什么百度上都可以,百思不得解!
從網上找個例子:
根據USER_ID分組,每個獲取 last_updated_date最新的一條記錄。
SELECT ID,USER_ID,problems,last_updated_date FROM (select * from t_iov_help_feedback order by USER_ID, LAST_UPDATED_DATE DESC) b GROUP BY b.USER_ID;
很明顯,這樣在我的sql里面會報錯。
所以我用了關聯查詢 on后跟了兩個條件
select * from (select USER_ID,MAX(last_updated_date) group by USER_ID) as temp left join t_iov_help_feedback as t on temp.USER_ID=t.USER_ID and temp.last_updated_date=t.last_updated_date;
這樣就能查出來了。先寫這么多,以后有時間了再仔細研究論證。