mysql 层_mysql多层查询

mysql多层查询

附件:city.sql - djmg

mysql查询某节点下层的所有元素节点:

select parentId, areaId, areaCode,areaName, level, center

from city_area

where find_in_set(areaId,

(select GROUP_CONCAT(childrenIds) from (

select (

select @childrenIds:=GROUP_CONCAT(areaId) from city_area where FIND_IN_SET(parentId, @childrenIds)) as childrenIds

-- ,CEILING( LENGTH(@childrenIds) / 5 )

from (select @childrenIds:=) var,city_area c where @childrenIds is not null

) A )

)

--and areaName like '%区%';

mysql查询某节点上层的所有元素节点:

select parentId, areaId, areaCode,areaName, level, center

from city_area

where find_in_set(areaId,

(select GROUP_CONCAT(childrenIds) from (

select (

select @childrenIds:=GROUP_CONCAT(parentId) from city_area where FIND_IN_SET(areaId, @childrenIds)) as childrenIds

-- ,CEILING( LENGTH(@childrenIds) / 5 )

from (select @childrenIds:=) var,city_area c where @childrenIds is not null

) A )

)

--and areaName like '%区%';

两个查询的不同点在于最内层的查询将父子Id位置对换了一下

(select @childrenIds:=GROUP_CONCAT(parentId) from city_area where FIND_IN_SET(areaId, @childrenIds)) as childrenIds

(select @childrenIds:=GROUP_CONCAT(areaId) from city_area where FIND_IN_SET(parentId, @childrenIds)) as childrenIds

问题:

group_concat函数被截断的问题

mysql的 group_concat 函数默认返回1024个字节长度,超过长度的会被截断;

命令行下输入:

SET GLOBAL group_concat_max_len=1024000;

or SET SESSION group_concat_max_len=1024000;

jpa原生sql':'转义问题

字符:在jpa原生sql会被看作是变量的前缀

@childrenIds:= == @childrenIds\\:=

mysql多层查询 相关文章

惊奇,MySQL还能正则匹配,简易例子

模式 描述 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 . 匹配除 "\n" 之外的任

浅析MySQL中concat以及group_concat的使用

说明: 转自:浅析MySQL中concat以及group_concat的使用 本文中使用的例子均在下面的数据库表tt2下执行: 一、concat()函数 1、功能:将多个字符串连接成一个字符串。 2、语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数

JQ延时模糊查询

!DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" meta name="viewport" content="width=ul, initial-scale=1.0" titleDocument/title script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"/script/headbody input type="text" id="f

1. MySQL基本架构

MySQL的基本架构 要深入了解MySQL,需要先窥其全貌,了解MySQL的架构是如何组成的,我们在执行一条SQL时都发生了什么。 上图是MySQL基本逻辑架构 下面分别看看架构中的各个组件分别起什么作用。 我们常说的安装MySQL是指安装MySQL服务端部分,也就是图中的Se

ElasticSearch 查询

公号:码农充电站pro 主页:https://codeshellme.github.io ES 中的查询 API 有两种: URI Search :HTTP GET 请求的方式。 Request Body Search :基于 Json 数据格式的 DSL (Query Domain Specific Language)。 1,指定查询范围 通过 URI 可以指定在哪些

elasticsearch lucence查询语法(较全)

使用双引号包起来作为一个短语搜索 "like Gecko" 字段 也可以按页面左侧显示的字段搜索 限定字段全文搜索: field:value 精确搜索:关键字加上双引号 filed:"value" http.code:404 搜索http状态码为404的文档 字段本身是否存在 _exists_:http :返回结果中需

mysql8.0+安装后没有初始化密码

文章来源:https://blog.csdn.net/qwq1503/article/details/86214853 问题描述: mysql安装后既没有数据目录,也没有要求自己填写密码,登录mysql又没有密码。 解决方法: 手动删掉自己创建的data文件夹 然后再管理员cmd下进入 bin 目录,移除自己的mysqld服

MySQL菜鸟实录(一):MySQL服务安装实战

CentOS 7 基本信息 系统版本: CentOS 7.3 64bit 系统配置: 4vCPUs | 8GB 磁盘空间: [root@ecs-ce5a-0001 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 40G 17G 22G 44% /devtmpfs 3.9G 0 3.9G 0% /devtmpfs 3.9G 0 3.9G 0% /dev/shmtmp

P3168 [CQOI2015]任务查询系统

题意描述: 洛谷 每一个任务有三个属性: \(s,t,w\) , 表示这个任务会在 \(s-t\) 这一段时间内运行,优先度为 \(w\) . 有 \(q\) 组询问,每次询问你 第 \(x\) 秒运行的任务的优先度前 \(k\) 小的任务的优先度之和。 数据范围: \(n,m\leq 10^5 , w\leq 10^9\

mysql—Job for mysqld.service failed because the control process exited with error code. See systemctl status mysqld.service and journalctl -xe for details.

一、问题 MySQL启动时提示如下错误: [ck@hadoop102 conf]$ sudo systemctl start mysqld.service[sudo] atguigu 的密码:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值