当前位置:   article > 正文

MySQL分组查询每组最新的一条数据_mysql 每人最新一条数据

mysql 每人最新一条数据

今天突然發現,以前用的一個max()函數取group by分組后最新一條數據的方法有問題。。。

例如,查每位作者最新發佈的文章信息,我的測試數據:

max()方法的查詢結果,查出來的時間是最新的沒錯,但id title content author都還是group by查詢默認的第一條數據,以前沒發現大概是因為前面字段的值都相同吧。。。

另一個網上很流傳但在我這行不通的方法是:先按時間倒序排序,再分組查詢

正確的結果應是id為2 5的數據。

因為在mysql5.7后子查詢的排序已經失效了, 爲什麽失效呢。。。可能因為子查詢的結果不需要排序吧。。

所以這樣就等效于 SELECT * FROM test GROUP BY `author`

目前試過可行的方法:

方法一:對子查詢進行limit限制,適用於明確數據量不會超過多少的場景,否則查不到全部數據。

 方法二:前提是數據表設計id自增

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/952724
推荐阅读
相关标签
  

闽ICP备14008679号