MySQL父查询子、子查询父
一、根据父查询子
1、sql实现
SELECT GROUP_CONCAT(id) id FROM (SELECT t1.*,IF(FIND_IN_SET(parentid, @pids) > 0, @pids := CONCAT(@pids, ',', id), '0') AS ischildFROM (SELECT * FROM test ORDER BY id ASC) t1,(SELECT @pids := '变量父ID') t2
) t3 WHERE ischild != '0'
需修改的变量:id:主键id、parentid:父id、test:表名。
2、函数实现
2.1、创建函数
CREATE DEFINER=`bd_db_admin`@`%` FUNCTION `getChildId`(`pId` bigint) RETURNS varchar(4000) CHARSET utf8
BEGIN#Routine body goes here...DECLARE ids VARCHAR(4000);DECLARE childId VARCHAR(4000);SET ids = '$';SET childId = CAST(pId AS CHAR);WHILE childId is NOT NULL DOSET ids = CONCAT(ids,',',childId);select GROUP_CONCAT(id) INTO childId FROM test WHERE FIND_IN_SET(parentid,childId)>0;END WHILE;RETURN ids;
END
2.2、使用
select getChildId(122)
二、根据子id查询父id
SELECT t2.* FROM ( SELECT @r AS _id, (SELECT @r := parentid FROM test WHERE id = _id) AS parentid, @l := @l + 1 AS lvl FROM (SELECT @r := '要查询的ID', @l := 0) vars, testWHERE @r <> 0
) t1 JOIN test t2 ON t1._id = t2.id
ORDER BY t1.lvl DESC
需修改的变量: id:主键、parentid:父id、test:表名。
欢迎关注
MySQL父查询子、子查询父相关推荐
- mysql查询父id下所有子id,或者通过子id查询所有父id到最上层
文章目录 前言 一.通过父id查询所有子id 1.数据库 2.查询语句 3.SQL解释 二.通过子id查询父id到根节点 1.查询语句 总结 前言 显示实现通过父id查询所有子id数据:第二部分同子i ...
- SQL server 根据子级查询根父级
小编做惯了根据父级查子级,可是怎么也没想到有一天会遇到根据子级查根父级这种需求,小编起初想通过C#,但是小编最后并没有做到合适的方法,那小编只能通过SQL server的方式来解决了 推算历程一: w ...
- Oracle递归查询(查询当前记录所有父级或子级)
Oracle递归查询(查询当前记录所有父级或子级) 向上递归查询 所有上级 元数据: 1 2 3 4 SELECT * FROM ORGANIZE START WITH PARENT_ID = '14 ...
- 一个oracle从子节点向父节点查询的问题
今天部门内一个人问我,在oracle中如何从子节点记录向父节点上溯.比如有一个表: guid parentguid 1 0 2 1 3 1 4 2 5 2 6 5 7 5 8 7 ...
- mysql子查询日期比较_数据分析系列 16/32 | MySQL中子查询与联合查询
前面说了很多MySQL中的查询,比如条件查询.分组聚合查询.连接查询,今天来说一下另外两个非常的重要的查询,MySQL中的子查询和联合查询. PART01 子查询 子查询也称嵌套查询,是将一个查询语句 ...
- mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询
自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...
- MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询
本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...
- mysql求和 子查询_MYSQL 查询方法 统计查询 链接查询 子查询
mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据 select Code,Name from Info --查指定列的数据 select Code ...
- mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
简介:mysql5.0.94版本,该版本以及较高级的版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的 ...
- mysql怎么子查询_在mysql中如何进行子查询?
在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...
最新文章
- shell的相关知识(变量、脚本定义)
- 【数字信号处理】线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
- hdu-4089-Activation-概率dp
- SAP修改已经释放的请求
- idea下mapreduce的wordcount
- Python(9):函数
- 扩容是元素还是数组_Java中对数组的操作
- 阿里云CDN技术掌舵人文景:相爱相杀一路狂奔的这十年
- 华为nova9系列正式官宣:9月23日震撼上市
- 【lucene】lucene高亮显示
- oracle 12.2.0.1 使用 active dataguard broker 之二 switchover
- linux 串口监视工具_监视Linux的最佳工具
- 直播系统源码,直播系统源码, 直播app系统源码
- 变频器的工作原理与结构介绍
- 练习:用swiper实现图片滑动
- Python+Appium自动化测试-通过坐标定位元素
- RESTE MASTER和reset slave
- 网站防篡改有什么方法
- https之证书验证
- 办公室装修设计与环保理念
热门文章
- notebook pip install 只有星号_什么人不能种生基?什么人适合于做?只有这篇文章最清楚了!...
- vue2.0生命周期数据共享
- ARCGIS中坐标转换及地理坐标、投影坐标的定义
- 最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)
- 基于gibbsLDA的文本分类
- ehvierwer登录与不登录_【更新】亿寻—免登录不限速下载百度网盘
- 页面可视化搭建工具技术要点
- 张凯龙 西北工业大学计算机学院,张凯龙的个人主页-西北工业大学教师个人主页...
- c c++ 信息服务查询服务器
- mysql查询笔记_MySQL学习笔记(一):查询