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中的分析函数方便,但是可以解决一部分的问题。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM