大家好,我现有一个疑惑.这个那段sql该如何去写.
表Images
ID(唯一)  PictureDescript PictureURL        ObectId
1        1111             ~/image/1.jpg     1000
2        2222             ~/image/2.jpg     1000
3        3333             ~/image/3.jpg     1001
4        4444             ~/image/4.jpg     1001
5        5555             ~/image/5.jpg     1001我想得到的结果是指定ObectId的一条Images记录就可以了
结果
1        1111             ~/image/1.jpg     1000
3        3333             ~/image/3.jpg     1001
这样.
这sql该如何去写?

解决方案 »

  1.   

    select top 1 from Images where ObectID=****
      

  2.   

    唯一条件不是OBJECTID怎么取出1条来
      

  3.   

    select * from images where id in(select Max(id) from Images  group by ObectId)
      

  4.   

    select * from (select *,rank() over (partition by obectid order by id asc) rk ) a where rk=1 
      

  5.   

    select * from  images  where [id] in(select  Min(id)   from   Images  group by   ObectId)
      

  6.   

    select * from images where [id] in(select Min([id]) from Images group by ObectId)
      

  7.   

    wackyboy 和qawszx  的方法都可以
      

  8.   

    如果我的ID不是int如何办?是guid的值呢?
      

  9.   

    如果我的ID不是int如何办?是guid的值呢?select * from images where [id] in(select Min(cast([id] as int)) from Images group by ObectId)
      

  10.   

    select   *   from   (select   *,rank()   over   (partition   by   obectid   order   by   id   asc)   rk  from Images  )   a   where   rk=1 
      

  11.   

    select top 1 * from Images where ObectId=1000 union select top 1 * from Images where ObectId=1001内连接 两边符合条件的都出来了  top 1  保证只取一条记录 你还可以在每条语句后面来个 order by