在Oracle中有ROWNUM 这个功能,可以很方便的得到序列号。但是Mysql中始终没有实现这个功能的函数,那当我们需要的时候该怎么处理呢?

使用Msyql的自定义变量

1. 自定义变量放在FROM后面

   使用 @var 定义变量 ,这个变量定义是基于connection的。也就是当连接断开重连的时候,@var中的值会被清空,因此我们最好每次都给它一个初始值。

SELECT @i:=@i+1 AS '序号' , a.name FROM AREA a,(SELECT @i:=5) i

变量 @i :
   1. 在SELECT 得到每一行结果集都会先自增1 ;
   2. 在FROM 后面的(SELECT @i:=5) 每次sql执行都会初始化变量@i的值为5 。

2. 自定义变量放在WHERE后面

   其实这个变量的初始化值并不一定非要放在FROM后面,也可以像下面这样。这是由于 sql的执行顺序决定的,在select 执行前 初始化变量即可

SELECT @a:=@a+1 AS '序号' , a.name FROM AREA a WHERE (SELECT @a:=5)

区别:
   在 WHERE 后面使用变量的时候, 不能初始化赋值0(WHERE (SELECT @a:=0)) ,这个是因为0在 WHERE 后面被认为是 false 。这样不能搜索到任何结果。

Mysql的执行顺序参考:Mysql书写规范 、Mysql的书写顺序执行顺序、Mysql使用技巧

如何使 Mysql自动生成序号列,序号自动增长相关推荐

  1. php生成excel完整实例代码,php生成excel列序号代码实例

    php生成excel列序号代码实例 发布于 2015-02-01 11:55:57 | 112 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext P ...

  2. WPF ListView中自动生成的列

    目录 介绍 为什么我们在这里 使用情况 其他可选的视觉样式 ColWidth属性 ColSort属性 ColCellTemplate属性 另一种样式选项--排序箭头颜色 代码 属性 排序装饰器 Aut ...

  3. 如何:从 Windows 窗体 DataGridView 控件中移除自动生成的列

    如果将 DataGridView 控件设置为根据其数据源中的数据自动生成列,则可以选择忽略某些列.可以通过调用 Columns 集合的 Remove 方法进行此操作.或者,也可通过将 Visible ...

  4. Oracle 自动生成标识列, 比如订单编号,学生ID

    Oracle 自动生成标识列, 比如订单编号,学生ID

  5. mysql中怎样自动生成代码_MySql之自动生成CRUD代码

    MySql之自动生成CRUD代码 MyBatis能够通过获取MySql中的information_schema从而获取表的字段等信息,最后通过这些信息生成代码. 笔者受此启发,将MyBatis-Gen ...

  6. mysql xml生成工具_mybatis-generator 代码自动生成工具

    今天来记录下mybatis-generator插件自动生成xml mapper和model还有dao接口,这样我们就可以把精力放在业务代码上,而不需要关心数据库的具体操作. 这里我使用eclipse作 ...

  7. python ppt自动生成_实战 | Python自动生成PPT调研报告

    原标题:实战 | Python自动生成PPT调研报告 原文: 全文约 3821 字,读完可能需要 5 分钟. 文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据 ...

  8. php 自动生成查询密码,php自动生成新密码的两种方法

    php自动生成新密码的两种方法,方法一采用的是随机种子,方法是乱序数组,异曲同工吧. 有需要的朋友可以参考下. 方法1: 代码示例: /* * php自动生成新密码自定义函数 适用环境: PHP5.2 ...

  9. linux自动生成mac地址,Linux自动生成MAC地址的多种方法

    Linux自动生成MAC地址的多种方法 Linux下生成MAC地址的方法有很多种,除了常见的shell生成法外,还能通过Perl.ruby等方法来生成MAC地址,下面小编对MAC地址的自动生成方法做了 ...

  10. python 文案自动生成_Python自动化测试如何自动生成测试用例?

    原文作者:陈安妮annie1 原出处:简书 上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰,我们将立即处理. 传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断 ...

最新文章

  1. 23 duplicate symbols for architecture i386
  2. hdu4888 最大流(构造矩阵)
  3. Android系统性能优化(60)---LeakCanary使用详解
  4. svr预测出来是一条直线_不看错过好几亿!5分钟学会用Python预测美股价格
  5. 二维数组传入函数_C++二维动态数组memset()函数初始化
  6. SecureCRT无法使用root账户远程连接ubuntu
  7. Illustrator中文版教程,如何在 Illustrator 中快速连接和修剪路径?
  8. 关于listener
  9. 电脑坏掉之后,Oracle数据恢复
  10. 转. Dynamics AX 20年简史
  11. 使用用AI制作logo图标教程
  12. 【小技巧】一招教你下载b站视频到本地
  13. Unity3D学习 ③ 摄像机视角跟随
  14. 腾讯万亿级 Elasticsearch
  15. SpringBootAdmin超详细教程以及端点指标控制
  16. 怎样抠图去背景?教你快速抠图的方法
  17. 南京印象之出租车司机
  18. 《转载》Mybatis 拦截器介绍
  19. title: hexo博客搭建流程(附gitee仓库同步等)
  20. Web基础之Servlet+JDBC+JSP项目实战记录(一)

热门文章

  1. java中的构造方法必须和类名相同_1. 对于构造方法,下列叙述不正确的是( ). A、 构造方法是类的一种特殊方法,它的方法名必须与类名相同...
  2. MyBatis HelloWorld
  3. MATLAB中copula函数的程序,Copula理论MATLAB应用实例.doc
  4. java 查看堆外内存占用_Java堆外内存排查小结
  5. SAS MACRO Debugging option
  6. PADS-微处理器、USB转UART芯片、MINI-USB PCB封装设计
  7. 《物联网技术》课程笔记——第三章 物联网感知技术之传感技术
  8. 在网易,我的试用期总结
  9. 苹果电脑python下载安装教程-Anaconda3 Mac版下载
  10. Unity2D入门(九):敌人的移动、消灭敌人(包括动画的触发)