前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
有一張部門表:appbricks_department ,有 id 字段和?rank_tree 字段。
rank_tree:記錄的是當前部門的所有父級部門的 id , 逐級拼接,用逗號分隔,直到本級部門id。
如:A院 - B中心 - C科 - D室 ,則D室的 rank_tree 值為:A的id ,??B的id ,?C的id ,D的id 。
?
需求:根據當前部門 id ,查對應部門層級中第 2 級部門的名稱 。
1. 先查到 rank_tree:
2. 根據 rank_tree 取部門第2級的部門id :
取到前2級部門的id字串: SUBSTRING_INDEX(ad.rank_tree, ',', 2)
如:054234545F80B4844A90B,DA1E528C02C643546DBC5ECC再取這個字串逗號分隔的第2位,等于倒過來取的第1位: SUBSTRING_INDEX(SUBSTRING_INDEX(ad.rank_tree, ',', 2), ',', -1))
得到最終要的id:DA1E528C02C643546DBC5ECC
?
在mysql中提供了一些字符串操作的函數,其中SUBSTRING_INDEX(str, delim, count)
str: 要處理的字符串
delim: 分割符
count: 計數 如果為正數,則從左開始數,如果為負數,則從右開始數
3.實現業務查詢:
?
?