我有一个表,里面有四个字段ID(主键),BizID,DeviceID(VarChar类型),CreatedTime(DateTime类型)
在插入数据的过程中由于高并发导致了有的数据插入了多个副本,也就是说DeviceID在一段时间内重复出现了多次
现在我想做的是找出DeviceID出现了两次,并且这两条数据的CreatedTime相差一分钟的记录中CreatedTime较早的那些记录(ID值大的并不表示CreatedTime就一定大),请问该怎么做呢?

解决方案 »

  1.   

    SELECT * FROM TAB A
    WHERE EXISTS (
    SELECT 1 FROM TAB
    WHERE DeviceID = A.DeviceID
    AND CreatedTime > A.CreatedTime
    AND CreatedTime <= DATEADD(MI,1,A.CreatedTime)
    )
      

  2.   

    你这个不是仅限于DeviceID出现两次的记录
      

  3.   

    你这个不是仅限于DeviceID出现两次的记录
      

  4.   

    Select SysOrderNo From ORDERDETAIL  Group by SysOrderNo having Count(SysOrderNo)=2
    返回出现两次的记录