通過sql實現傳入父級id查詢出所有的子集 最近剛好有個業務需要這樣實現個功能,就是在點擊查詢列表詳情的時候只會傳入父級id,而詳情得渲染出所有子集,那么做法有很多,可以直接通過代碼遞歸查詢去實現, 但很明顯效率低下,所有考慮了下純粹通過sql來實現這個功能點。 效果展示 如圖這個“水果 ...
在一個表中,有這樣的一個層級關系,ID為主鍵,PId為父級ID 關系如下圖: 然后呢,現在的需求是,已知某一條記錄的ID,求出它頂層父級的ID,也就是我們所謂的 尋根 計划。 這類問題解決方法很多,首先我用SQL中的函數來解決,許久不寫,正好練習一下: 函數創建好了 有點遞歸的味道 下面給定參數,然后執行函數,看看結果 測試的結果 大功告成。 接下來,我們試試另一個方法。直接寫查詢語句來實現,這里 ...
2021-01-15 11:31 5 233 推薦指數:
通過sql實現傳入父級id查詢出所有的子集 最近剛好有個業務需要這樣實現個功能,就是在點擊查詢列表詳情的時候只會傳入父級id,而詳情得渲染出所有子集,那么做法有很多,可以直接通過代碼遞歸查詢去實現, 但很明顯效率低下,所有考慮了下純粹通過sql來實現這個功能點。 效果展示 如圖這個“水果 ...
這里提供2個個人覺得比較常用的sql 一、 查詢所有子級(不包含本身) 二、查詢所有父級(包含本身) 以上2個查詢id為我的主鍵 , c_core_org 是我的表名,parent_id 是我的父id字段 分享到此結束, 感謝觀看 ...
背 景: 在MySQL中如果是有限的層次,比如我們事先如果可以確定這個樹的最大深度, 那么所有節點為根的樹的深度均不會超過樹的最大深度,則我們可以直接通過left join來實現。 但很多時候我 ...
在樹形結構表查詢中用得最多的就是查詢指定分類的所有下級分類,這個性能比較好的解決方案是為分類加一個編碼(路徑)把父級的ID都拼接上,最后通過like 'x%'就能把所有下級分類select出來。但是有時也會遇到反過來,找出指定分類的所有上級分類,這個情況尤其在分銷或類傳銷的系統中最 ...
樹形表結構: id parentID isDel 1 0 0 2 1 0 3 1 1 4 2 0 5 2 0 ...
通過父ID查詢下級ID很常見,本人遇到后做一個記錄 1,第一種方法是只能查詢到該ID的下一級,不包含父ID,而且只能查詢到一級 2,第二種方法采用遞歸方法,先寫一個遞歸函數,在數據庫中,然后調用該函數即可 遞歸函數如下:特別注意我采用了 LONGTEXT ...
獲取父IDs: 獲取子IDs: ...
如 有個表里有字段id,name,.....當name是重復時取其id最大的一條記錄 select max(id) id,name from 表 group by name --最小用mini--如果表中還有其他字段要查出,那么select * from 表 where id in(select ...