溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql類似oracle rownum寫法實例詳解

發(fā)布時間:2020-09-05 01:22:56 來源:腳本之家 閱讀:173 作者:smileNicky 欄目:MySQL數(shù)據(jù)庫

rownum是oracle才有的寫法,rownum在oracle中可以用于取第一條數(shù)據(jù),或者批量寫數(shù)據(jù)時限定批量寫的數(shù)量等

mysql取第一條數(shù)據(jù)寫法

SELECT * FROM t order by id LIMIT 1;

oracle取第一條數(shù)據(jù)寫法

SELECT * FROM t where rownum =1 order by id;

ok,上面是mysql和oracle取第一條數(shù)據(jù)的寫法對比,不過這只是rownum的一種用法,rownum還可以用于批量寫數(shù)據(jù)

往t表批量寫一萬條數(shù)據(jù):

 insert into t(id,date) select sys_guid(),sysdate from dual connect by rownum<=10000;

oracle原版寫法:

select * from (select id,name from t) where rownum <![CDATA[<=]]> to_number(num);

mysql改寫后的SQL:

SELECT 
 * 
FROM
 (SELECT 
  tb.*,
  @rownum := @rownum + 1 AS rownum 
 FROM
  (SELECT 
   id,
   NAME 
  FROM
   t) tb,
  (SELECT 
   @rownum := 0) r) AS t 
WHERE rownum <= CAST(num AS SIGNED INTEGER) ;

以上就是本次介紹的全部知識點內(nèi)容,感謝大家對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI