在mysql查询中生成序列号 [英] Generate serial number in mysql query

查看:2034
本文介绍了在mysql查询中生成序列号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张桌子:student_marks

I have a table: student_marks

marks
-----
  44
  55
  64
  98
  76

预期输出:

serial_number|marks
--------------------
  1          | 44
  2          | 55
  3          | 64
  4          | 98
  5          | 76

使用mysql用户定义的变量,可以使用查询来完成:

Using mysql user defined variables, it could be done using query:

 set  @a:=0;select @a:=@a+1 serial_number, marks from student_marks;

是否有任何方法可以在msyql中实现而不使用用户定义的变量?

Is there any way to achieve this in msyql without using user defined variables?

推荐答案

基于您不想使用用户定义变量的原因,因为您希望避免使用2个查询,一个用于初始化,一个用于使用它,您可以使用以下方法:

Based on your reasons for not wanting to use user defined variables as wanting to avoid having 2 queries, one for inializing and one to use it you could use the following:

SELECT  @a:=@a+1 serial_number, 
        marks 
FROM    student_marks,
        (SELECT @a:= 0) AS a;

这篇关于在mysql查询中生成序列号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆