MySQL:如何获取行的序号?

MySQL:如何获取行的序号?,第1张

MySQL:如何获取行的序号?

如果数字将用于除带数字的项目的简单有序显示之外的其他任何内容,则我同意
使用这样的编号方案的评论。如果数字实际上要与某物联系在一起,那么这是一个非常糟糕的主意!

使用一个变量,并在

SELECt
语句中增加它:

SELECT    id,    (@row:=@row+1) AS rowFROM table,(SELECt @row:=0) AS row_count;

例子:

CREATE TABLE `table1` (    `id` int(11) NOT NULL auto_increment,    PRIMARY KEY  (`id`)) ENGINE=InnoDBINSERT INTO table1 VALUES (24), (87), (112);SELECT    id,    (@row:=@row+1) AS rowFROM table1,(SELECt @row:=0) AS row_count;+-----+------+| id  | row  |+-----+------+|  24 |    1 ||  87 |    2 || 112 |    3 |+-----+------+

怎么运行的

@row
是用户定义的变量。必须在主
SELECT
语句运行之前将其设置为零。可以这样完成:

SELECT @row:=0;

或像这样:

SET @row:=0

但是将这两个语句结合在一起很方便。这可以通过创建派生表来完成,这是在这里发生的:

FROM table,(SELECT @row:=0) AS row_count;

第二个

SELECT
实际上首先运行。一旦完成,这只是增加
@row
检索到的每一行的值的一种情况:

@row:=@row+1

@row
每次检索行时,该值都会增加。无论访问行的顺序如何,它始终会生成一个顺序的数字列表。因此,对某些事情来说很方便,而对其他事情来说很危险…



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5618451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存