鍍金池/ 問答/HTML5  PHP  數(shù)據(jù)庫(kù)/ 將Mysql查詢的結(jié)果更新到本表的某字段下

將Mysql查詢的結(jié)果更新到本表的某字段下

我使用下面的代碼查詢出了一張表結(jié)構(gòu)如下

SELECT xh,xm,bj,jd,rank FROM
    (SELECT *,@rownum:=@rownum+1 AS rownum,IF(@pa=ff.bj,@rank:=@rank+1,@rank:=1) AS rank,@pa:=ff.bj
    FROM
       (SELECT xh,xm,jd,bj FROM totaltable GROUP BY bj,jd ORDER BY bj ASC, jd DESC) ff,(SELECT @rank:=0,@rownum:=0,@pa=NULL) tt) result

圖片描述

我想將rank 字段更新到totaltable表的對(duì)應(yīng)的學(xué)號(hào)(xh)的某字段(bpm)下默認(rèn)為空 應(yīng)該如何寫sql語(yǔ)句

回答
編輯回答
誮惜顏
update totaltable
    join (SELECT xh,xm,bj,jd,rank FROM (SELECT *,@rownum:=@rownum+1 AS rownum,IF(@pa=ff.bj,@rank:=@rank+1,@rank:=1) AS rank,@pa:=ff.bj
        FROM
           (SELECT xh,xm,jd,bj FROM totaltable GROUP BY bj,jd ORDER BY bj ASC, jd DESC) ff,(SELECT @rank:=0,@rownum:=0,@pa=NULL) tt) result) tmp on totaltable.xh = tmp.xh
set totaltable.bpm = tmp.rank

你試試這個(gè)呢,update語(yǔ)句去join你『select結(jié)果』臨時(shí)表,希望能幫到你。

2017年9月24日 20:37