从SELECT语句返回的行中更新值

时间:2018-09-14 17:04:05

标签: mysql

使用一个表USERS,我想更新列marks的前20个值(基于STATUS列),该列当前为 NULL “等待”

是否可以使用Update(仅影响排名前20位的用户,而其余用户应使用“不适用” )?

现在我只能想到

Update
  STATUS
from
  USERS
where
  STATUS is NULL
group by
  MARKS desc
LIMIT
  20;

但是我得到一个错误

编辑:-

UPDATE  
  student  
SET  
  status = 'Waiting'  
where  
  branch in (  
    select  
      branch  
    from  
      (  
        select  
          branch  
        from  
          student  
        where  
          STATUS is NULL  
        order by  
          CGPA DESC  
        limit  
          1, 2  
      ) temp  
  )  

我已经尝试过了,但是它会更新所有行,而不仅仅是我想要的两行(前两行按标记排序)

0 个答案:

没有答案