mysql中使用group by和order by获取每组中日期最大的行

 2024-03-20 04:06:28  阅读 0

mysql中使用group by后要获取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们想要获取最大值对应的ID,那么我们需要获取整个行数据。初始实现方法如下

t.,MAX(t.) 作为

来自TT

分组依据 ,t.,t.

执行上面的SQL语句确实可以得到每组中的最大值,但是经过检查发现最大值并不对应同一行数据。 如果我们要对其进行操作,结果肯定是错误的。

取值大于0_取值大于多少为重大风险_sql取最大值的那一行

最后在网上找到了解决方法,如下

t.*

FROM ( * from `t` order by `` desc limit ) t

分组依据 ,t.,t.

从上面的SQL可以看出,我们首先将所有数据按照时间降序排序,然后进行分组。 那么每组中最上面的记录就是时间最长的记录。 检查执行结果后,确实可以实现需求。

sql取最大值的那一行_取值大于0_取值大于多少为重大风险

注意:

必须添加限制。 如果不添加的话,数据不会先排序。 通过查看执行计划可以看到,在没有限制的情况下,少了一次操作。

t.*

FROM ( * from `t` order by `` desc limit ) t

分组依据 ,t.,t.

sql取最大值的那一行_取值大于多少为重大风险_取值大于0

t.*

FROM ( * from `t` order by `` desc ) t

分组依据 ,t.,t.

—————————————————

版权声明:本文为CSDN博主“”原创文章,遵循CC 4.0 BY-SA版权协议。 转载时请附上原文出处链接及本声明。

原文链接:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码