表名:table1
UserID   UserName  InstanceID
123       zly       803
236       nnn       803
823       fdfd      822
555       vdvd      895表结构就是这样。
现在我只知道表的字段的名称,而不知道表中的具体数据
我要如何更新表中的前2条数据就是 'TOP 2' 前两个数据,不知道怎么写来着
不能用具体数据来定top 2.大家帮帮忙啊
  UPDATE table1
SET UserID= '111'
FROM (SELECT TOP 2 * FROM table1 ) AS t1
这种类似的写法会全部更新数据

解决方案 »

  1.   

    UPDATE table1
    SET UserID= '111'
    where UserID in (SELECT TOP 2 UserID FROM table1 )
      

  2.   

    表名:table1
    UserID   UserName  InstanceID
    123       zly       803
    236       nnn       803
    823       fdfd      822
    555       vdvd      895
    111       zzz       888
    111       zzz       888
    111       zzz       888UserID会重复的
      

  3.   

    UPDATE table1
    SET UserID= '111'
    where UserID a where exists(SELECT TOP 2 * FROM table1 a.userid=userid and userName=a.username and InstanceID=a.InstanceID )
      

  4.   

    看樓主的更新語句,就可以知道UserID在數據庫中有重復的了。樓主,你的表沒有關鍵字??
      

  5.   

    Set RowCount = 2执行Update语句Set RowCount = 0
      

  6.   

    set rowcount 2UPDATE table1
    SET UserID= '111'
    FROM (SELECT TOP 2 * FROM table1 ) AS t1
    set rowcount 0
      

  7.   

    看来只有rowcount能解决了。