开发者社区> 问答> 正文

从时间差为3分钟的多行中获取一行

我有一个RFID读取器,可以读取RFID卡。因此它将所有传递给RFID机器的卡插入我拥有的读取表中

ReadTable (ReadId, CardNumber , ReadDate , ReaderId )

记录例如:

1 - 1234  2019-12-27   10:56:02.997   2.1
2 - 1234  2019-12-27   10:57:02.997   2.1
3 - 1234  2019-12-27   10:57:25.997   2.1
4 - 1236  2019-12-27   10:57:02.997   2.1
5 - 1236  2019-12-27   10:58:02.997   2.1
6 - 1236  2019-12-27   10:57:50.997   2.1
7 - 1234  2019-12-27   11:57:50.997   2.1
8 - 1234  2019-12-27   11:56:02.997   2.1
9 - 1234  2019-12-27   12:57:02.997   2.1
10 -1234  2019-12-27   12:57:25.997   2.1

因此,从这6条记录中,我只希望行号1、4、7和9。我该如何实现?

展开
收起
祖安文状元 2020-01-04 15:42:26 455 0
1 条回答
写回答
取消 提交回答
  • 你要 row_number()

    select rt.*
    from (select rt.*, row_number() over (partition by CardNumber order by ReadDate) as seq
          from ReadTable rt
         ) rt
    where seq = 1;
    
    2020-01-04 15:42:33
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载