假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态(分组查询)
来源:互联网 发布:程序员五阶段书单搞笑 编辑:程序博客网 时间:2024/05/16 11:41
假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态
下面的表里的数据,只插入了一部分做模拟
可以看到testId为1的数据有3条,而我们则需要拿出其中最后更新的那条,那么该怎么拿呢?
首先将表通过testid分组,查询出最后的时间
SELECT *,MAX(time) lasttime FROM a GROUP BY testid ;
可以看到查询出来的数据多了一个字段叫lasttime,接下来就用该字段对数据进行筛选。
将查询出来的字段作为一张表,与原表关联查询
SELECT * FROM a ,(SELECT *,MAX(time) lasttime FROM a GROUP BY testid) c WHERE a.testid=c.testid and a.time=c.lasttime;
这样便能查询出每个testid的最后状态了
ps:最好用主键ID筛选,因为主键是一定不重复的,而更新时间则可能在一毫秒插入多条数据;
阅读全文
1 0
- 假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态(分组查询)
- CSS中#testid.testclass与#testid .testclass的区别
- 查询插入满足条件新记录,如果已经有记录则循环更新相关记录
- 查询数据表的最后一条记录
- 查询mysql数据库的最后一条记录
- 查询数据表 最后一条记录
- oracle 查询最后一条记录
- sql 插入一条记录并查询出记录的id值
- 取最后一条记录的值(插入、查询 数据时自动排序)
- mysql查询最后几条、生成一条包含多条记录、插入语句、差值查询
- 更新查询出的多条记录
- 查询MYSQl数据表中的最后一条记录
- sqlite3查询表中最后一条记录
- SQL Server 如何查询最后一条记录
- sql怎么把查询出的记录插入到另一张表中
- MySQL随机查询出一条记录
- 更新最后一条记录
- oracle查询分组数据中的最后一条数据和每组的数量
- 北斗三号服务全球、国产OS广泛应用,这些你都知道么
- 使聊天机器人的对话更有营养
- 【Node核心模块HTTP】
- [高等数学]微分中值定理与导数的应用
- 成熟的Docker容器架构改变了游戏的七种方式
- 假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态(分组查询)
- View的基础知识
- iGame最强Z370VulcanX主板:为第八代酷睿蓄势待发
- Docker 制作自己的WEB镜像,并运行项目
- 欢迎使用CSDN-markdown编辑器
- 大数据价值变现的10种商业模式及利弊分析
- 【图像处理】SFR算法详解2
- 自定义viewgroup流式布局
- 【spring事务管理】