mysql 查询出多级父级内容和多级子级内容
来源:互联网 发布:vs2017 java 编辑:程序博客网 时间:2024/06/08 01:55
BUS_COMPANY表结构
COMPANY_NO PARENT_ID
-1 -2
0 -11 0
2 -1
3 2
4 -1
5 -1
6 -1
7 6
查询出多级父级内容(不包含自身)
SELECT T2.COMPANY_NO
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM BUS_COMPANY WHERE COMPANY_NO = _id) AS parent_id,
@l := @l + 1 AS lvl FROM (SELECT @r := 7, @l := 0) vars,
BUS_COMPANY h
) T1 JOIN BUS_COMPANY T2 ON T1._id = T2.COMPANY_NO where T2.COMPANY_NO not in (7) ORDER BY T1.lvl DESC;
查询出多级子级内容(不包含自身)
SELECT COMPANY_NO FROM
(
SELECT * FROM BUS_COMPANY ORDER BY PARENT_ID, COMPANY_NO DESC
) k1,
(SELECT @pv :=-1) k2
WHERE (FIND_IN_SET(PARENT_ID,@pv)>0 And @pv := concat(@pv, ',', COMPANY_NO)) ;
FIND_IN_SET(str,strlist)函数
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录
mysql CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍mysql CONCAT()函数,供您参考
mysql CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> SELECT CONCAT(’My’, ‘S’, ‘QL’);
-> ‘MySQL’
- mysql 查询出多级父级内容和多级子级内容
- MySQL 多级查询
- 多级类元素获取内容
- jQuery多级子菜单
- Excel多级下拉菜单联动自动匹配内容
- LINQ 查询多级对象
- elasticsearch多级聚合查询
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- Mysql多级复制
- MySql数据库查询多级部门及其下的所有用户信息
- java实现数据结构之单向链表
- 自己看别人看了没用,dicomcs相关操作
- Log4j与common-logging
- 基于python的spark mongodb
- LeetCode | 83. Remove Duplicates from Sorted List
- mysql 查询出多级父级内容和多级子级内容
- 『 Spark 』1. spark 简介
- android 7.0适配
- [Leetcode] 414. Third Maximum Number 解题报告
- linux logrotate 日志切割管理
- kaggle+mnist手写字体识别
- Paint Canvas 类属性方法学习笔记
- 分布式之消息队列
- JDK源码中的help GC 与 JVM的可达性算法分析