sql数据库查询保留最新的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql数据库查询保留最新的值?相关的知识,希望对你有一定的参考价值。
例如我的表是这样的
id SN Port Result
1 1 1 -123
2 1 2 -114
3 1 1 -113
4 2 1 -114
5 2 2 -111
6 2 2 -114
id是个自增加值。每次记录都会增加1. 我首先要取出每个SN里的Port的最新值。例如ID 1,3 是关于SN=1 Port =1的数据。我希望能取出 3,1,1 -113这个数据。希望通过sql语句得到的查询结果如下:
id SN Port Result
3 1 1 -113
2 1 2 -114
4 2 1 -114
6 2 2 -114
不知SQL的语句该如何写。
select *
from 表 W
where id=(select MAX(id) from 表 where SN=W.SN AND Port=W.Port)
追问查询里from 表 W是什么意思。“表”是已经创建了的。W是一张新表吗?
追答因为子查询要引用外层查询的属性列,内外层查询的表名字是一样的,为了区别这两个表,给 外层查询表起个别名。
参考技术A SELECT * FROM TABLE A,(SELECT SN, PORT, MAX(ID) ID FROM TABLE B GROUP BY SN, PORT) B
WHERE A.SN=B.SN AND A.PORT=B.PORT AND A.ID=B.ID追问
可否麻烦解释一下。不理解?
追答先查出来sn,port对应最大的ID。
然后再通过ID查数据。
以上是关于sql数据库查询保留最新的值?的主要内容,如果未能解决你的问题,请参考以下文章