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. ...
随机推荐
- docker 查看系统进程pid
docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q)
- 01—mybatis开山篇
什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.M ...
- xml树结构
概念:XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据.经常被用来作为配置文件使用. XML 使用DTD(document t ...
- css hack的理解
什么是CSS hack 由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持.解析不一样,导致在不同浏览器的环境中呈 ...
- [转]web.xml中servlet ,filter ,listener ,interceptor的作用与区别
原文链接:https://blog.csdn.net/netdevgirl/article/details/51483273 一.概念: 1.servlet:servlet是一种运行服务器端的java ...
- [MySQL优化] -- 如何查找SQL效率地下的原因
[MySQL优化] -- 如何查找SQL效率地下的原因 来源: ChinaUnix博客 日期: 2009.07.20 16:12 (共有条评论) 我要评论 查询到效率低的 SQL 语句 ...
- oracle之约束-主键、非空、唯一、check、外键、默认
--首先添加主键约束alter table studentadd constraint PK_student_sno primary key(sno) --删除约束alter table studen ...
- python--openCV--其它
t1=cv2.getTickCount() # 记录当前时间,以时钟周期计算 t2=cv2.getTickFrequency() #返回时钟周期,返回CPU的频率,返回CPU一秒中所走的时钟周期数
- Web大文件分片上传
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...
- Comet OJ - Contest #11 A 水题
Code: #include <bits/stdc++.h> #define N 3000000 using namespace std; char str[N]; int main() ...