灰太狼技术

  1. 首页
  2. mysql
  3. 正文

mysql 同一字段使用group by 后实现order by 取值

2023年 7月 28日 1396点热度 0人点赞 0条评论

mysql 同一字段使用group by 后实现order by 取值

众所周知 group by 和 order by 一起使用时,会先使用group by 分组,group by 默认取第一条记录(mysql默认升序),而后面的order by 排序是group by执行之后的排序结果,所以如果只使用groub by 并不能获取最新的数据。

网上常见的解决方案是通过子查询,先进行order by desc, 然后group by 获取的第一条就是最新的.
后来,我发现了还有一种比较懒的写法

SELECT id,MAX(creattime) AS creattime FROM table WHERE status = 1 GROUP BY uid
  • 1

利用MAX的优先级高于group by ,可以不使用子查询的方法实现降序。

标签: mysql
最后更新:2023年 7月 28日

wp_zp

这个人很懒,什么都没留下

点赞

归档

  • 2023 年 8 月
  • 2023 年 7 月

分类

  • mysql
  • PHP
  • 奇技淫巧

COPYRIGHT © 2023 灰太狼技术. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备18097110号-2