现在的表数据如下: 主要是车牌号,经纬度和创建时间.现要查询出每个车牌号最新的一条

第一种写法:
SELECT CARNUM ,CREATEDATE, rank() OVER(PARTITION BY CARNUM ORDER BY CREATEDATE DESC)MAXCAR FROM MYTEST

可以看出来,查询的时候 都给加上了序号,然后我们嵌套一层, 查询 MAXCAR 为1的就行
SELECT * from (SELECT CARNUM ,CREATEDATE, rank() OVER(PARTITION BY CARNUM ORDER BY CREATEDATE DESC)MAXCAR FROM MYTEST) where MAXCAR=1

这样就可以了
----------------------------
不过如上写法如果有重复的数据的话,我们还得去重,例如:

去重之后的效果:

第二种写法:借助 行号
SELECT CARNUM ,CREATEDATE, Row_Number() OVER(PARTITION BY CARNUM ORDER BY CREATEDATE DESC)MAXCAR FROM MYTEST

然后我们再取行号为1的

版权声明:本文为csdnmuyi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。