mysql获取最近一条数据_mysql显示所有数据库

mysql获取最近一条数据_mysql显示所有数据库关于mysql查询最近一条记录最近项目中遇到需要查询记录当前时间最近的一条记录的问题,开始感觉无从下手,后来逐步发现了三种解决方案。下策——查询出结果后将时间排序后取第一条select*fromawheretime<=”2017-03-2919:30:36″orderbytimedesclimit1这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

关于mysql查询最近一条记录

最近项目中遇到需要查询记录当前时间最近的一条记录的问题,开始感觉无从下手,后来逐步发现了三种解决方案。

下策——查询出结果后将时间排序后取第一条

select * from a

where time<=”2017-03-29 19:30:36″

order by time desc

limit 1

这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于百万以上数据查询将比较费时;limit是先取出全部结果,然后取第一条,相当于查询中占用了不必要的时间和空间;还有如果需要批量取出最近一条记录,比方说:“一个订单表,有用户,订单时间,金额,需要一次性查询所有用户的最近的一条订单记录”,那么每个用户一次查询就要做一次整表的遍历,数据大的情况下,时间将会以指数形式增长,不能投入实际使用。

中策——查询排序后group by

select * from (

select * from a

where time<=”2017-03-29 19:30:36″

order by time desc

) group by user_id

后来发现使用group by 可以根据group by 的参数列分组,但返回的结果只有一条,仔细观察发现group by是将分组后的第一条记录返回。时间在查询后默认是顺序排列,因此需要先将时间倒序排列,方可取出距离当前最近一条。

这样查询实际上还是进行了两次查询,虽然时间上相比第一个方法有了质的飞跃,但是还可以进一步优化。

上策——将max() 方法和group by结合使用

select *,max(time) from a

where time<=”2017-03-29 19:30:36″

group by user_id

这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。

from:https://www.cnblogs.com/wwyz/p/6641895.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196192.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Apache 配置与应用

    Apache 配置与应用目录引言一、Apache连接保持二、Apache的访问控制1.客户机地址限制2.用户授权控制2.1创建用户认证数据文件2.2添加用户授权配置2.3验证用户访问授权三、Apache日志分割1.Apache自带rotatelogs分割工具2.使用第三方工具cronolog分割四、AWStats日志分析1.部署AWStats分析系统2.访问AWStats分析系统总结引言ApacheHTTPServer之所以受到众多企业的青睐,得益于其源代码开源,跨平台、功能

    2022年7月14日
    15
  • w3c标准html5手册_在w3c中规定html决定页面的

    w3c标准html5手册_在w3c中规定html决定页面的w3c标准-html

    2022年9月17日
    0
  • 关于函数模板描述错误的是(链接格式错误怎么解决)

    状况1:函数是通用基本函数,故没有放到任何类中,为全局的。声明与实现分别放到.h和.cpp中,编译报:链接错 1:不使用模板函数,用重载 ok2:使用模板函数,但是将定义也一同放到.h中,ok   状况2:在a.h文件中定义的都是模板函数,添加普通函数,编译连接出错,重定义1:将新函数也定义为模板函数2:将新函数定义到其它的.h文件中 3:

    2022年4月15日
    139
  • 使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。[通俗易懂]

    使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。[通俗易懂]使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。

    2022年4月21日
    41
  • HTML+CSS制作二级菜单栏

    HTML+CSS制作二级菜单栏今天我们来练习一下二级菜单栏,说实话比较简单,但是自己一个人写的时候错误百出,逻辑混乱,于是乎网上找了几个案例,借鉴了一下思路,才整明白,鄙人确实不才,哈哈!效果图附上:首先:我已链接了外部样式重置,所以无需自己亲自写:reset.css网上有很多,我用的是下面这个,免费分享给大家,永久有效哦!链接:https://pan.baidu.com/s/1doPA17vy–Qt…

    2022年4月27日
    34
  • java开发常用工具

    java开发常用工具

    2021年7月10日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号