最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的方法實(shí)例

 更新時(shí)間:2022年03月24日 11:44:54   作者:堯上有農(nóng)  
項(xiàng)目中遇到一個(gè)需求,要求查處菜單節(jié)點(diǎn)的所有節(jié)點(diǎn),在網(wǎng)上查了一下,大多數(shù)的方法用到了存儲(chǔ)過(guò)程,由于線上環(huán)境不能隨便添加存儲(chǔ)過(guò)程,所以自己寫(xiě)一個(gè),這篇文章主要給大家介紹了關(guān)于MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下

不用寫(xiě)存儲(chǔ)過(guò)程,不用建數(shù)據(jù)庫(kù)函數(shù),一段sql就可以實(shí)現(xiàn)

不用寫(xiě)存儲(chǔ)過(guò)程,不用建數(shù)據(jù)庫(kù)函數(shù),一段sql就可以實(shí)現(xiàn)

不用寫(xiě)存儲(chǔ)過(guò)程,不用建數(shù)據(jù)庫(kù)函數(shù),一段sql就可以實(shí)現(xiàn)

SELECT
	ID.LEVEL,
	DATA.* 
FROM
	(
	SELECT
		@ids AS _ids,
		( SELECT @ids := GROUP_CONCAT( region_id ) FROM region WHERE FIND_IN_SET(parent_id, @ids ) ) AS cids,
		@l := @l + 1 AS LEVEL 
	FROM
		region,
		( SELECT @ids := 3, @l := 0 ) b 
	WHERE
		@ids IS NOT NULL 
	) ID,
	region DATA 
WHERE
	FIND_IN_SET( DATA.region_id, ID._ids ) 
ORDER BY
	LEVEL

測(cè)試

--創(chuàng)建測(cè)試環(huán)境
create table t_test(
	id int PRIMARY key,
	parent_id int,
	name varchar(200)
)

insert t_test VALUES(1,null,"中國(guó)");

insert t_test VALUES(2,1,"華北");

insert t_test VALUES(3,2,"山西省");
insert t_test VALUES(4,2,"北京");

insert t_test VALUES(5,3,"臨汾市");
insert t_test VALUES(6,4,"北京市");


insert t_test VALUES(7,5,"堯都區(qū)");
insert t_test VALUES(8,6,"朝陽(yáng)區(qū)");

insert t_test VALUES(9,7,"解放西路");
insert t_test VALUES(10,8,"朝陽(yáng)北路");


SELECT * FROM t_test;

測(cè)試數(shù)據(jù)展示

查詢(xún) id=1,查詢(xún)中國(guó)下邊有哪些地方

SELECT
	ID.LEVEL,
	DATA.* 
FROM
	(
	SELECT
		@ids AS _ids,
		( SELECT @ids := GROUP_CONCAT( id ) FROM t_test WHERE FIND_IN_SET(parent_id, @ids ) ) AS cids,
		@l := @l + 1 AS LEVEL 
	FROM
		t_test,
		( SELECT @ids := 1, @l := 0 ) b 
	WHERE
		@ids IS NOT NULL 
	) ID,
	t_test DATA 
WHERE
	FIND_IN_SET( DATA.id, ID._ids ) 
ORDER BY
	LEVEL

id=3,查詢(xún)山西下邊有哪些地方

SELECT
	ID.LEVEL,
	DATA.* 
FROM
	(
	SELECT
		@ids AS _ids,
		( SELECT @ids := GROUP_CONCAT( id ) FROM t_test WHERE FIND_IN_SET(parent_id, @ids ) ) AS cids,
		@l := @l + 1 AS LEVEL 
	FROM
		t_test,
		( SELECT @ids := 3, @l := 0 ) b 
	WHERE
		@ids IS NOT NULL 
	) ID,
	t_test DATA 
WHERE
	FIND_IN_SET( DATA.id, ID._ids ) 
ORDER BY
	LEVEL

id=4,查詢(xún)北京下邊有哪些地方

最后再?gòu)?id=2 華北地區(qū)往下查詢(xún)

總結(jié) 

到此這篇關(guān)于MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的文章就介紹到這了,更多相關(guān)MySql遞歸查詢(xún)子節(jié)點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)的增、刪、改實(shí)現(xiàn)方法

    MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)的增、刪、改實(shí)現(xiàn)方法

    這篇文章主要介紹了MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)的增、刪、改實(shí)現(xiàn)方法,簡(jiǎn)單介紹了mysql實(shí)現(xiàn)數(shù)據(jù)的增、刪、改相關(guān)語(yǔ)法與使用技巧,需要的朋友可以參考下
    2016-09-09
  • 深入淺出講解MySQL的并行復(fù)制

    深入淺出講解MySQL的并行復(fù)制

    這篇文章主要給大家介紹了關(guān)于MySQL并行復(fù)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • mysql ON DUPLICATE KEY UPDATE語(yǔ)句示例

    mysql ON DUPLICATE KEY UPDATE語(yǔ)句示例

    本文介紹一下關(guān)于mysql中INSERT INTO… ON DUPLICATE KEY UPDATE用法
    2013-11-11
  • 帶你快速了解SQL窗口函數(shù)

    帶你快速了解SQL窗口函數(shù)

    窗口函數(shù),也叫OLAP函數(shù)(Online Anallytical Processing,聯(lián)機(jī)分析處理),可以對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行實(shí)時(shí)分析處理,下面這篇文章主要給大家介紹了關(guān)于SQL窗口函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 使用MYSQL TIMESTAMP字段進(jìn)行時(shí)間加減運(yùn)算問(wèn)題

    使用MYSQL TIMESTAMP字段進(jìn)行時(shí)間加減運(yùn)算問(wèn)題

    這篇文章主要介紹了使用MYSQL TIMESTAMP字段進(jìn)行時(shí)間加減運(yùn)算問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL插入數(shù)據(jù)時(shí)插入無(wú)效列的解決方法

    MySQL插入數(shù)據(jù)時(shí)插入無(wú)效列的解決方法

    MySQL插入數(shù)據(jù)時(shí)插入無(wú)效的列,解決方法是在插入時(shí),給字符串類(lèi)型的字段值加上雙引號(hào)
    2014-07-07
  • 詳解MySQL中的NULL值

    詳解MySQL中的NULL值

    這篇文章主要介紹了MySQL中的NULL值的相關(guān)知識(shí),是MySQL入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • mysql 正確清理binlog日志的兩種方法

    mysql 正確清理binlog日志的兩種方法

    這篇文章主要介紹了mysql 正確清理binlog日志的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 解決MySQL Sending data導(dǎo)致查詢(xún)很慢問(wèn)題的方法與思路

    解決MySQL Sending data導(dǎo)致查詢(xún)很慢問(wèn)題的方法與思路

    這篇文章主要介紹了解決MySQL Sending data導(dǎo)致查詢(xún)很慢問(wèn)題的方法與思路,感興趣的小伙伴們可以參考一下
    2016-04-04
  • MySQL單表查詢(xún)實(shí)例詳解

    MySQL單表查詢(xún)實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL單表查詢(xún)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論

清徐县| 宁乡县| 安达市| 邳州市| 宁乡县| 金华市| 偃师市| 成武县| 商水县| 米泉市| 延吉市| 永新县| 甘谷县| 大余县| 平和县| 江津市| 西吉县| 军事| 辽宁省| 静安区| 安达市| 张北县| 都安| 安塞县| 武强县| 若尔盖县| 恩施市| 民权县| 崇仁县| 阳高县| 郎溪县| 昭觉县| 郑州市| 大姚县| 克东县| 襄城县| 承德市| 乐清市| 勐海县| 安康市| 延寿县|