前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql 找出最新时间的一条数据

mysql 找出最新时间的一条数据

作者头像
赵哥窟
发布2020-08-25 10:34:15
5.7K0
发布2020-08-25 10:34:15
举报
文章被收录于专栏:日常技术分享

今天遇到一个需求,需要找出最新的一条数据。然后我的Sql是这样的

代码语言:javascript
复制
  SELECT
            pm25,
            pm10,
            so2,
            no2,
            co,
            o3,
        MAX( insTime ) AS insTime
        FROM
            tb_weather_city_hour
        WHERE
            city = 'xxx'

但是看了一下表,有10w多条数据了,如果在10w条数据中用MAX函数应该很会慢,而且数据越来越多,有可能100w条。加索引的如果数据量太大也会慢吧。我想到解决办法是加上一个条件startTime和endTime 就是当日期的开始 也就是00:00:00~23:59:59 这个时间范围的数据就是最新的数据了。这样在MAX也不会很慢,如果考虑到可能当天内没有数据,开始时间可以向前推几天。

代码语言:javascript
复制
 AND insTime BETWEEN #{startTime} AND  #{endTime}

另外也可以不使用MAX,可以使用

代码语言:javascript
复制
ORDER BY insTime Limit 1

这样也可以找出最新的一条

这个只是个人的解决办法,如果好的解决办法可以传授一下。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档