【轉】Mysql rownum 實現 及應用


Mysql rownum 實現
 
SELECT @rownum:=@rownum+1 AS rownum, frutas.*
FROM (SELECT @rownum:=0) r, frutas;
 
 
用rownum修改自身表字段
比如:下面是對同一張表(即a=b)的sort_no進行修改,將sort_no設置為rownum:
update a inner join
(
SELECT b.id, @rownum:=@rownum+1 AS rownum
FROM (SELECT @rownum:=0) r, b where b.status!='DELETED' order by b.update_time desc
) c
on a.id=c.id
set a.sort_no=c.rownum
where a.status!='DELETED'
 
詳細請參考:
MySQL update不能直接使用select的結果 http://www.linuxidc.com/Linux/2011-03/33845.htm
 
 
如果不像上面那么特殊,也可以寫成下面這樣:
(也就是把要查詢的東西先放到臨時表里,起個別名)
update apples
set price = (
select price from (
select * from apples
) as x
where variety = 'gala')
where variety = 'fuji';
 
詳細請參考:
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM