- 统计业务情况下,需要分组取最新,下面记录两种mysql写法
方式一:使用 MAX() 函数来实现该功能文章来源:https://www.toymoban.com/news/detail-690039.html
SELECT
*
FROM
d_switch_heart
WHERE
create_time IN ( SELECT MAX( create_time ) FROM d_switch_heart GROUP BY device_no )
ORDER BY
device_no;
方式二:和方式一逻辑基本一致,只是将IN查询替换成了连接查询,实测百万级数据量相较于方式一提升50%,推荐使用此种方式文章来源地址https://www.toymoban.com/news/detail-690039.html
SELECT
t1.*
FROM
d_switch_heart t1
INNER JOIN ( SELECT MAX( create_time ) AS create_time FROM d_switch_heart GROUP BY device_no ) t2 ON t1.create_time = t2.create_time;
到了这里,关于mysql 分组后取每组最新数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!