使用函数实现MySQL查询行号的方法

发布时间:2021-09-16 15:53:47 作者:chen
来源:亿速云 阅读:154

这篇文章主要讲解了“使用函数实现MySQL查询行号的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用函数实现MySQL查询行号的方法”吧!

  mysql5中使用函数实现MySQL查询行号,原理和使用变量差不多。

  下面MySQL查询行号过程的目的是获得整型包含行的数量的结果集,类似其他DBMS中的ROWNUM()。我们需要一个用户变量来保存在每次调用rno()后的结果,就命名为@rno吧。

  CREATEFUNCTIONrno()RETURNSINTBEGINSET@rno=@rno+1;RETURN@rno;END;

  通过rno()方法的SELECT我们获得了行数。下面是调用程序的结果:

  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;//

  实例如下:

  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)

感谢各位的阅读,以上就是“使用函数实现MySQL查询行号的方法”的内容了,经过本文的学习后,相信大家对使用函数实现MySQL查询行号的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. MySQL的查询技巧方法
  2. Oracle中的分页查询~~~ROWNUM(行号)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:DOS批处理中set命令怎么用

下一篇:DOS批处理中FOR命令中的变量有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》