ClosureTable





1. 查询所有子节点 SELECT `chidren_id` FROM `xi_category4_closure` WHERE `parent_id` = 0 AND `distance` > 0
2. 查询下级子节点 SELECT `chidren_id` FROM `xi_category4_closure` WHERE `parent_id` = 1 AND `distance` = 1
3. 查询由根节点到x节点之间的所有节点,按照层级由小到大排序 SELECT `parent_id` FROM `xi_category4_closure` WHERE `chidren_id` = 8 ORDER BY `distance` DESC
4. 查询由x节点(含)到y节点(不含)之间的所有节点,按照层级由小到大排序 SELECT `parent_id` FROM `xi_category4_closure` WHERE `chidren_id` = 7 AND `distance` < (SELECT `distance` FROM `xi_category4_closure` WHERE `chidren_id` = 7 AND `parent_id` = 0) ORDER BY `distance` DESC
5. 查询x节点到根节点层级 SELECT `distance` FROM `xi_category4_closure` WHERE `chidren_id` = 5 AND `parent_id` = 0
6. 查询x节点到y节点层级 SELECT `distance` FROM `xi_category4_closure` WHERE `chidren_id` = 5 AND `parent_id` = 1
7. 查询某一层的所有节点 SELECT `chidren_id` FROM `xi_category4_closure` WHERE `distance` = 2 AND `parent_id` = 0

1. 插入 INSERT INTO `xi_category4` (`name`) VALUES('紧身T恤') INSERT INTO `xi_category4_closure`(`parent_id`, `chidren_id`, `distance`) (SELECT `parent_id`, 9, `distance` + 1 FROM `xi_category4_closure` WHERE `chidren_id` = 6) INSERT INTO `xi_category4_closure`(`parent_id`, `chidren_id`, `distance`) VALUES(9,9,0)
2. 移动(删除再插入) DELETE FROM `xi_category4_closure` WHERE `chidren_id` = 5

ClosureTable的更多相关文章
- Mysql闭包表之关于国家区域的一个实践
在电商系统中,我们总是会遇到一些树形结构数据的存储需求.如地理区域.位置信息存储,地理信息按照层级划分,会分为很多层级,就拿中国的行政区域划分为例,简单的省-市-县-镇-村就要五个级别.如果系统涉及到 ...
- Laravel 精选资源大全
原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts 新闻:Laravel News 中文文档 Laravel学院– Laravel 5. ...
随机推荐
- 方程的解——枚举&&水题
题目 链接 给出方程组:$$\displaystyle \left\{\begin{aligned}11x + 13y + 17z = 2471 \\13x + 17y + 11z = 2739\en ...
- Educational Codeforces Round 50 (Rated for Div. 2) F - Relatively Prime Powers(数学+容斥)
题目链接:http://codeforces.com/contest/1036/problem/F 题意: 题解:求在[2,n]中,x != a ^ b(b >= 2 即为gcd)的个数,那么实 ...
- MySQL5.7.21解压版安装详细教程(转)
由于本人经常装系统,每次装完系统之后都要重新安装一些软件,安装软件的时候又要上网查找安装的教程,比较麻烦,所以自己整理了MySQL5.7.21解压版的安装方法,以便查看. 1.首先,你要下载MySQL ...
- binlog2sql闪回工具的使用
binlog2sql闪回工具的使用 一.下载安装依赖的python yum install openssl-devel bzip2-devel expat-devel gdbm-devel readl ...
- [ML] The Basics: Training Your First Model
The problem we will solve is to convert from Celsius to Fahrenheit, where the approximate formula is ...
- Luogu P1951 收费站_NOI导刊2009提高(2) 二分 最短路
思路:二分+最短路 提交:1次 题解: 二分最后的答案. $ck()$: 对于每次的答案$md$跑$s,t$的最短路,但是不让$c[u]>md$的点去松弛别的边,即保证最短路不经过这个点.最后$ ...
- visualstudio2019 的报表技术rdlc在windows10上出现乱码的问题解决方法
vs2019 的报表技术rdlc在windows10上出现乱码的问题解决方法 现在好多新电脑默认是安装windows10 可能有些程序员还不习惯,但是这是趋势,windows10以下的系统漏洞很多,这 ...
- 【强化学习】1-1-2 “探索”(Exploration)还是“ 利用”(Exploitation)都要“面向目标”(Goal-Direct)
title: [强化学习]1-1-2 "探索"(Exploration)还是" 利用"(Exploitation)都要"面向目标"(Goal ...
- Love to be loved by you & Just one last dance
http://baike.baidu.com/link?url=wOnBuPncIH5b5oWc0ZREXCU8x6XPYqlZazTLarTjE8eOpdtpv57YMeB_kgXQq4BcCeh2 ...
- apache和tomcat有什么不同
前言 apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet容器,可以认为是apache的扩展,但是可以独立于apache运行. 换句话说,apache是一辆卡车, ...