這篇文章主要講解了“使用函數(shù)實(shí)現(xiàn)MySQL查詢行號的方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“使用函數(shù)實(shí)現(xiàn)MySQL查詢行號的方法”吧!
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、慶安網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為慶安等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。mysql5中使用函數(shù)實(shí)現(xiàn)MySQL查詢行號,原理和使用變量差不多。
下面MySQL查詢行號過程的目的是獲得整型包含行的數(shù)量的結(jié)果集,類似其他DBMS中的ROWNUM()。我們需要一個用戶變量來保存在每次調(diào)用rno()后的結(jié)果,就命名為@rno吧。
CREATEFUNCTIONrno()RETURNSINTBEGINSET@rno=@rno+1;RETURN@rno;END;
通過rno()方法的SELECT我們獲得了行數(shù)。下面是調(diào)用程序的結(jié)果:
mysql>SET@rno=0;//QueryOK,0rowsaffected(0.00sec)mysql>SELECTrno(),s1,s2FROMt;//+-------+------+------+|rno()|s1|s2|+-------+------+------+|1|1|a||2|2|b||3|3|c||4|4|d||5|5|e|+-------+------+------+5rowsinset(0.00sec)
在SELECT中將@rno置零的技巧是使用了WHERE的求值功能,而這個特性在今后的MySQL中可能丟失。
CREATEFUNCTIONrno_reset()RETURNSINTEGERBEGINSET@rno=0;RETURN1;END;SELECTrno(),s1,s2FROMtWHERErno_reset()=1;//
實(shí)例如下:
mysql>usedb5Databasechangedmysql>delimiter//mysql>CREATEFUNCTIONrno()->RETURNSINT->BEGIN->SET@rno=@rno+1;->RETURN@rno;->END;//QueryOK,0rowsaffected(0.42sec)mysql>set@rno=0;->//QueryOK,0rowsaffected(0.00sec)mysql>selectrno(),s1fromt;//+-------+------+|rno()|s1|+-------+------+|1|6||2|6||3|0||4|19||5|19||6|1||7|2||8|3||9|4||10|0||11|1||12|2||13|4|+-------+------+13rowsinset(0.06sec)mysql>CREATEFUNCTIONrno_reset()->RETURNSINTEGER->BEGIN->SET@rno=0;->RETURN1;->END;//QueryOK,0rowsaffected(0.01sec)mysql>selectrno(),s1fromtwhererno_reset()=1;//+-------+------+|rno()|s1|+-------+------+|1|6||2|6||3|0||4|19||5|19||6|1||7|2||8|3||9|4||10|0||11|1||12|2||13|4|+-------+------+13rowsinset(0.13sec)
感謝各位的閱讀,以上就是“使用函數(shù)實(shí)現(xiàn)MySQL查詢行號的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對使用函數(shù)實(shí)現(xiàn)MySQL查詢行號的方法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!