mysql查询结果添加一列id实现方法

mysql查询结果添加一列id实现方法

mysql中没有存在类似于Oracle中的分析函数,所以对于mysql中应该如何添加一列id值具体执行步骤如下:

1.建立数据库语句

例如我们先建立一个stu表,两个字段name和sex,我们将要在查询这张表的时候,添加上id。

建表语句如下:

CREATE TABLE `stu` (
  `name` varchar(255) NOT NULL,
  `sex` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.插入数据

接下来我们插入一部分数据,如下:

INSERT INTO `stu` VALUES ('dhfj', '男');
INSERT INTO `stu` VALUES ('fjd', '男');
INSERT INTO `stu` VALUES ('ns', '女');
INSERT INTO `stu` VALUES ('uok', '女');
INSERT INTO `stu` VALUES ('sds', '男');

3.执行sql语句

首先我们先来看一下,正常的查询结果如下:

select * from stu;

1569571587.jpg

在查询语句中添加一个变量的应用,使用如下语句即可实现增加一列id

SELECT
	(@id:=@id+1) as id,
	stu.*
FROM
	stu,
	(SELECT @id:=0 )as id_temp

1569572299_1_.jpg

4.存在问题

使用此种方法生成的id主要取决于原表中的数据量有多少,就会生成多少数量的id,如果使用排序,分页,id都会从0开始,使用起来没有Oracle中的分析函数方便,但是可以解决一部分的问题。

posted @ 2019-09-27 16:29  滴水穿石zcl  阅读(8421)  评论(0编辑  收藏  举报