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