当前位置: 首页 > news >正文

哈尔滨智能建站模板wordpress mysqli

哈尔滨智能建站模板,wordpress mysqli,智慧团建初始密码123456,深圳 网站建设公司Mysql8实现递归查询 递归执行分析demo数据查询demo数据扩展字段扩展 大家好! 在我们日常工作中#xff0c;经常会遇到一些问题,它们的一些解决方案通常会用到递归这一强大的技术手段。递归不仅能帮助我们更高效的解决问题,还可以使代码更简介、更易于理解, 今天我来给大家分享… Mysql8实现递归查询 递归执行分析demo数据查询demo数据扩展字段扩展 大家好! 在我们日常工作中经常会遇到一些问题,它们的一些解决方案通常会用到递归这一强大的技术手段。递归不仅能帮助我们更高效的解决问题,还可以使代码更简介、更易于理解, 今天我来给大家分享如何在实际工作中使用mysql8实现递归 Tip !!! 需要Mysql 8上的版本支持 在大型组织中,理解员工建的层级关系至关重要。无论是管理、报告和策划一个清晰的组织层级视图都是必不可少的。但是如何有效地从一个大型、复杂的员工数据库中提取到这样的层级信息呢? 递归执行分析 mysql8递归查询的实现是基于 WITH RECURSIVE语句。它从一个初始的基础情况开始,然后不断的重复或递归 的一个连接操作,直到满足某个条件为止。 以下是递归查询的基本结构: 1. 基础情况: 这是递归的起点,也就是根节点,在我们场景中根节点是CEO或者它的上级为null。 2. 递归情况: 基于基础情况查询将继续扩展包括下一级的员工然后类推。 WITH RECURSIVE hierarchy AS (-- 基础情况...UNION ALL -- 递归情况... ) select xxx from hierarchydemo数据 模拟插入10w条数据, 层级最高6层 DROP TABLE IF EXISTS employees;CREATE TABLE employees (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),manager_id INT,FOREIGN KEY (manager_id) REFERENCES employees(id) ); -- 新增根节点数据 INSERT INTO employees (name) VALUES (CEO); -- 创建执行过程 DELIMITER $$ CREATE PROCEDURE InsertLargeAmountOfData() BEGINDECLARE id INT DEFAULT 2;DECLARE parentId INT DEFAULT 1;DECLARE counter INT DEFAULT 0;-- 第2层WHILE counter 10 DOINSERT INTO employees (name, manager_id) VALUES (CONCAT(L2-, id), 1);SET id id 1;SET counter counter 1;END WHILE;SET counter 0;-- 第3层WHILE counter 100 DOSET parentId 1 FLOOR(counter / 10) 1;INSERT INTO employees (name, manager_id) VALUES (CONCAT(L3-, id), parentId);SET id id 1;SET counter counter 1;END WHILE;SET counter 0;-- 第4层WHILE counter 1000 DOSET parentId 11 FLOOR(counter / 100);INSERT INTO employees (name, manager_id) VALUES (CONCAT(L4-, id), parentId);SET id id 1;SET counter counter 1;END WHILE;SET counter 0;-- 第5层WHILE counter 10000 DOSET parentId 111 FLOOR(counter / 1000);INSERT INTO employees (name, manager_id) VALUES (CONCAT(L5-, id), parentId);SET id id 1;SET counter counter 1;END WHILE;SET counter 0;-- 第6层WHILE counter 88889 DOSET parentId 1111 FLOOR(counter / 10000);INSERT INTO employees (name, manager_id) VALUES (CONCAT(L6-, id), parentId);SET id id 1;SET counter counter 1;END WHILE;END$$ DELIMITER ; -- 执行执行过程 CALL InsertLargeAmountOfData();查询demo数据 WITH RECURSIVE hierarchy AS (-- 基础情况select id,name,manager_id from employees where manager_id is nullUNION ALL -- 递归情况select e.* from employees as e inner join hierarchy as h on e.manager_id h.id ) select id,name,manager_id from hierarchy结果 在以上图例中,通过调整manager_id is null 可以配置要查询某条数据及该数据所有子数据的查询出来的内容。 Tip! 查询的结果将以列表形式展现。若业务代码中需要完整的树状结构可以在每个节点中关联其上级节点。最后通过取manager_id is null的记录下的子节点数据即可得到完整的树状数据。 扩展 字段扩展 在业务中常常会需要查询某条记录并返回该字段在组织层次中的位置你可以参考以下代码: WITH RECURSIVE hierarchy AS (-- 基础情况从CEO开始SELECT id, name, manager_id, CAST(name AS CHAR(255)) AS hierarchy_pathFROM employeesWHERE manager_id IS NULL UNION ALL-- 递归情况为每个下级员工添加上级SELECT e.id, e.name, e.manager_id, CONCAT(h.hierarchy_path, , e.name)FROM employees eJOIN hierarchy h ON e.manager_id h.id ) SELECT id, name, manager_id, hierarchy_path FROM hierarchy -- 查询某条数据条件 WHERE name L3-111 ORDER BY id;结果如下图:
http://www.sadfv.cn/news/210325/

相关文章:

  • 做网站业务好干吗国外视觉差网站
  • 在家建设一个网站需要什么手续网站后面的官网是如何做的
  • 咖啡网站建设策划书做网站后台维护的岗位叫什么
  • 自己如何在网上做网站济南网站优化公司排名
  • 正邦做网站吗如何做网站聚合页
  • 网页制作教程教案seo搜索引擎优化就业前景
  • 文明网站机制建设深圳网站建设服务哪家专业
  • 做网站登录页面的论文息烽县住房和城乡建设局网站
  • 保定关键词排名首页aso应用优化
  • 石家庄网站设计公司排名沈阳专业网站制作设计
  • 北京住房城乡建设部网站首页怎么做网络推广优化
  • 网站建设设计服务公司什么网站可以做相册
  • 网站建设与管理专业教学计划网站建设软件开发公司
  • 网站建设步骤详解公众号和网站
  • 网站建设公司的公司响应式网站demo
  • 南昌电商网站设计readme.md做网站
  • 服装网站建设比较好做mip网站需要多钱
  • 网站开发实训报告模板台州关键词首页优化
  • 检查网站是否做301wordpress主题 水墨
  • 大连网站建设选高合科技深圳有哪些网络公司
  • 奇趣网做网站中国菲律宾南海开战
  • 移动官网网站建设抖音代运营有风险吗
  • 西安单位网站建设个人公司网页如何设计
  • 高端网站建设要阿里云wordpress优化
  • 沧州高端网站制作网站维护费用一般多少钱
  • 什么网站做推广最好开发项目的流程
  • 网站建设与管理学习收获wordpress的选页插件
  • 网站无法上传照片qq空间怎么添加wordpress
  • 网站备案连接crm软件哪家好
  • 自己做的网页怎么上传网站吗保定市建设计网站