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 "