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. ...
随机推荐
- SendMessage到底是如何工作的?
以下内容摘自<<Windows核心编程>>: 概要: SendMessage对于在同一个线程中调用的话,直接调用的是当前线程所属窗口的窗口过程函数(WndProc);如果是跨线 ...
- 两种atm取款方式
1.//函数 密码 账号function User(username, password, account){ this.username = username; this.password = pa ...
- Bootstrap-轮播图-No.1
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- [Cypress] Find Unstubbed Cypress Requests with Force 404
Requests that aren't stubbed will hit our real backend. To ensure we've stubbed all our routes, we c ...
- Mybatis的mapper接口在Spring中实例化过程
在spring中使用mybatis时一般有下面的配置 <bean id="mapperScannerConfigurer" class="org.mybatis.s ...
- python下vs的使用
part 1:导入pygame包 在python环境下:视图---其他窗口--python环境,选择从pypi安装pygame
- docker学习---docker基础知识
目录 docker的基础 1.安装docker 2.使用镜像 3.镜像迁移|导入和导出 4.docker Hub介绍 5.搭建私有镜像仓库 5.1.docker开源的镜像分发工具--docker Re ...
- SQL Server 基础:朝花夕拾
序言 INSERT INTO SELECT 与 SELECT INTO 通俗来讲,INSERT INTO SELECT 和 SELECT INTO 两个语句的作用都是复制表,因为都是从一个表中查询出数 ...
- Java小数中的四舍五入
1.怎么设置显示小数位数 public static void main(String[] args) { DecimalFormat decimalFormat = new DecimalForma ...
- linux manual free memory
/proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this file causes the kernel to drop clean ca ...