MySQL中如何爲查詢的數據添加自增序號、順序呢?

背景介紹

不少時候咱們在使用mysql查詢數據的時候都會遇到一個問題,就是查詢出來了一堆數據,可是查詢的數據的表並無序號,然而部分數據庫顯示工具是有外帶序號顯示,可是這種序號不是由sql產生的,而是工具的list容器生成的,那麼這個時候應該怎麼解決呢?mysql

解決方案

寫法1、sql

set @rownum = 0;
SELECT @rownum := @rownum +1 AS rownum ,s.account  FROM s_user s ORDER BY  s.reg_time DESC ;

方法1的寫法就是聲明瞭一個變量在外部,而後每行數據都爲它自增。數據庫

寫法二工具

SELECT
		account,
		(@i:=@i+1) AS rows
	FROM
		s_user,
		(SELECT @i := 0) AS it
	ORDER BY
		account DESC

寫法二的和寫法一實現的效果是同樣的,只是sql有一點區別,其次在調用過程須要注意一個事項,就是在from 後面須要爲變量歸零重置((SELECT @i := 0) AS it),不然可能會出現累計效果。blog

相關文章
相關標籤/搜索