一个表如下
Num    DeviceID  Status  Time                Longitude     Latitude
 1      1          True   2012/11/13 0:00:00  116.371035    39.8968533
 2      1          True   2012/11/13 0:00:30  116.371035    39.8968533
 3      1          True   2012/11/13 0:01:00  116.371035    39.8968533
 4      3          True   2012/11/13 0:00:00  116.37212     39.9
 5      3          True   2012/11/13 0:00:30  116.37212     39.9
 6      3          True   2012/11/13 0:01:00  116.37112     39.896861
我想获得最新的不同ID的数据怎么写SQL语句啊

解决方案 »

  1.   

    试试这个,没试验,看看行吗
    select * from table1 where DeviceID  in(select max(num) from table1 gorup by DeviceID )
      

  2.   


    写错了 应该 红色部分换成 num 试试
      

  3.   


    select * from
    (select row_number() over (partition by DeviceID order by [time] desc) rownum,* from bibi)as g
    where rownum=1
      

  4.   

    Select * From TableName A Where time = (Select Max(time) From TableName Where DeviceId = A.DeviceId)