栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL:如何获取行的序号?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号