1. 程式人生 > >mysql 資料庫 遞迴查詢語句

mysql 資料庫 遞迴查詢語句

SELECT * FROM ( 
		SELECT 
			@r AS id, 
			(SELECT @r := father FROM user_relainfo where id = @r) AS father
		FROM 
			(SELECT @r := 455) vars, 
			user_relainfo h 
		WHERE @r <> 409) T1 
SELECT * FROM
  (
    SELECT * FROM dedao.user where super_id > 0
     ORDER BY super_id, id DESC
  ) realname_sorted,
  (SELECT @pv := #{userId}) initialisation
  WHERE (FIND_IN_SET(super_id,@pv)>0 And @pv := concat(@pv, ',', id))

第一段 往上遞迴

第二段往下遞迴


相關推薦

mysql 資料庫 查詢語句

SELECT * FROM ( SELECT @r AS id, (SELECT @r := father FROM user_relainfo where id = @r) AS

MySQL實現查詢樹形結構

這兩天,遇到了子節點的需求.這裡簡單做個總結. 1.資料庫中的樹形結構 資料庫中存貯的資料,以ID和P_ID(父id),來存貯樹形結構 這樣如果需要查詢某個節點的子節點,就可以尋找P_ID.如果要查詢所有子節點,就需要遍歷所有的子節點的子節點. 如果要判斷是否為同級的節點,就可以查詢

Mysql資料庫-使用的查詢語句大全

常規查詢 查詢所有欄位:select * from 表名; 查詢指定欄位:select 列1,列2,... from 表名; 使用 as 給欄位起別名: select 欄位 as 名字.... from 表名; 查詢某個表的某個欄位:select 表名.欄位

一句SQL實現MYSQL查詢

ID 父ID 父到子之間級數 父到子路徑 ------ ------ ------------ --------------- 1 0 0 ,0 2 1 1

同事問我MySQL怎麼查詢,我懵逼了

## 前言 最近在做的業務場景涉及到了資料庫的遞迴查詢。我們公司用的 Oracle ,眾所周知,Oracle 自帶有遞迴查詢的功能,所以實現起來特別簡單。 但是,我記得 MySQL 是沒有遞迴查詢功能的,那 MySQL 中應該怎麼實現呢? 於是,就有了這篇文章。 **文章主要知識點:** * Ora

MyBatis自身集合巢狀,查詢目錄樹(適用於MySQL、ORACLE等資料庫程式碼都寫在XML中,通過SQL完成)

JAVA程式碼實現(連結):MySql、Oracle(通用方法)遞迴查詢生成檔案目錄樹(JAVA實現 遞迴過程中不訪問資料庫,遞迴之前只訪問兩次 進行遞迴前資料準備)   以下是XML中實現檔案樹的查詢、遞迴 場景:根據交易編碼,查詢檔案樹 檔案、資料夾都存放TRADER_

MySql、Oracle(通用方法)查詢生成檔案目錄樹(JAVA實現 過程中不訪問資料庫之前只訪問兩次 進行前資料準備)

查詢檔案樹 實體類 public class TradeInfoFile { ​ // 檔案編碼(子) private String fileCode; // 所屬檔案編碼(父) private String belongFileCode; // 交易

MySQL自定義函式查詢

用於遞迴查詢Id(通過parentId關聯)引數為int 型別的值: CREATE DEFINER=`root`@`%` FUNCTION `getChildList`(rootId INT) RETURNS text CHARSET utf8 BEGIN DECLARE sTemp

mysql查詢mysql中從子類ID查詢所有父類(做無限分類經常用到)

由於mysql 不支援類似 oracle with ...connect的 遞迴查詢語法之前一直以為類似的查詢要麼用儲存過程要麼只能用程式寫遞迴查詢.現在發現原來一條sql語句也是可以搞定的先來看資料表的結構如下:id  name    parent_id&n

mysql儲存過程代替查詢mysql儲存過程代替查詢

用mysql儲存過程代替遞迴查詢 查詢此表某個id=4028ab535e370cd7015e37835f52014b(公司1)下的所有資料 正常情況下,我們採用遞迴演算法查詢,如下 1

mysql 根據父id 查詢所有的子類

1、mysql中建立遞迴查詢方法 -- DROP FUNCTION `getChildrenOrg`  CREATE FUNCTION `getChildrenOrg`(uuid INT) RETURNS text CHARSET utf8 BEGIN     DECLAR

查詢資料庫、生成list包含 tuple的情況

'''調整下游'''import csvimport psycopg2import jsonclass IO_rw(object): def __init__(self): self.conn = psycopg2.connect(database="postgres", user="po

mysql 查詢所有的子節點

<select id="findDto" resultMap="EmployeeDtoMap" parameterType="e="java.lang.Integer" >" > select * from ( select a.*, *, b.name as as department_

mysql層次查詢

下面是sql指令碼,想要執行一下 把下邊的貼上複製下來,做一個treenodes.sq直接執行便是。。。  /*  Navicat MySQL Data Transfer    Source Server         : mysql_demo3  Source Ser

關於資料庫查詢

1、Oracle 以scott.emp表舉例:empno是人員編號,mgr是上級領導(也就是上級人員編碼) (1)、從上到下查詢 --該查詢查詢員工JONES下屬所有的員工 select emp.* from emp start with ename='JONES' CO

MySql和Oracle的查詢

        當資料庫中的表格屬於自關聯表的時候,當根據parent_id去查詢他所有的子集的時候(並且不知道樹結構都多少層),就需要遞迴查詢了.         我們經常遇到的情況有省市縣三級聯動,總銀行和分支銀行.我們在建立表的時候:         

mysql單表查詢

一、向下遞迴: DROP FUNCTION IF EXISTS getAllChildren; CREATE FUNCTION queryChildrenAreaInfo(parentId INT) RETURNS VARCHAR(4000) BEGIN DE

mysql查詢(分頁版本)

call getPictureList('402880e63789b63a013789b646dc0000',1,5); set max_sp_recursion_depth=12; CREATE PROCEDURE getPictureList (IN rootCat

db2和oracle中的樹查詢查詢語句

 在db2和oracle中的對樹的遞迴查詢語句。 表結構: create table  MAIN_NODE ( MLA_ID               INTEGER     not null        ,   //節點ID MLA_ROOTID          IN

mysql如何做查詢!!

mysql的逆襲:如何做遞迴層次查詢 最近在做一個從oracle資料庫到mysql資料庫的移植,遇到一個這樣的問題      在Oracle 中我們知道有一個 Hierarchical Queries 通過CONNECT BY 我們可以方便的查了所有當前節點下的