首页 > 其他分享 >树形结构排序1

树形结构排序1

时间:2023-05-18 15:33:16浏览次数:53  
标签:COMMENT 排序 name utf8mb4 house 树形 SET NULL 结构

CREATE TABLE `house_structure`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '房源结构id',
  `house_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '房源结构名称',
  `pid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父级节点id',
  `path` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完整路径',
  `path_name` varchar(4900) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完整路径名称',
  `sort` int(0) NULL DEFAULT NULL COMMENT '排序',
  `relevant_files` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关附件',
  `remarks` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  `create_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '建立人ID',
  `create_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '建立人姓名',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '建立时间',

  PRIMARY KEY (`id`) USING BTREE
) 
            "SELECT " +
            " length( path_name ) - length( REPLACE ( path_name, '>', '' ) ) + 1 AS structureLevel, " +
            " ( " +
            " SELECT " +
            "  GROUP_CONCAT( " +
            "  LPAD( b.sort, 3, 0 )  " +
            " ORDER BY " +
            "  ( length( path_name ) - length( REPLACE ( path_name, '>', '' ) ) + 1 ) ASC SEPARATOR ''  " +
            "  ) AS group_sort  " +
            " FROM " +
            "  house_structure b  " +
            " WHERE " +
            "  FIND_IN_SET( b.id, house_structure.path )  " +
            " ) as groupSort, " +
            "FROM " +
            " house_structure  " +
			

全路径名称替换

SELECT (
             SELECT  
              GROUP_CONCAT(  
              b.house_name   
             ORDER BY  
              ( length( path_name ) - length( REPLACE ( path_name, '>', '' ) ) + 1 ) ASC SEPARATOR '>'   
              ) AS group_sort   
             FROM  
              house_structure b   
             WHERE  
              FIND_IN_SET( b.id, house_structure.path )  ) full_name,
							house_structure.*
						FROM house_structure	

标签:COMMENT,排序,name,utf8mb4,house,树形,SET,NULL,结构
From: https://www.cnblogs.com/linhan8888/p/17412101.html

相关文章

  • python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
    前言排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。一、选择排序法选择......
  • 使用details和summary元素实现树形展示
    1.先看效果2.默认是关闭的,并且父级关闭后,子级的开关状态会被保留,再次展开时,可恢复;3.需要对details元素增加一个padding-left或margin-left,否则展开后,子级和父级是左对齐的,视觉效果不好;4.一般是details元素套一个summary元素和一个展开后要展示的内容,如果details中没有sum......
  • Python的基础语法(三)之“语法结构”
    “语法结构”1、成员运算符:定义:就是查看某个个体是不是在某个群体里面1、in(在)2、notin(不在)names_list=['kevin','jack','tank','tony']print('kevin'innames_list)#Trueprint('aa'innames_list)#Falseprint('......
  • 八大常见的数据结构(一)数组、链表、栈、队列
    1、数组数组是用于储存有限个相同类型数据的集合。数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。可通过数组名和下标进行数据的访问和更新。下标从0开始。2、链表链表是一种物理存储单元上非连续、非顺序的存储结构。链表相较于数组,......
  • c++程序流程结构
    c++程序流程结构c++中支持最基本的三种流程结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不会发生跳转。选择结构:根据条件是否满足,有选择的执行相应的功能。循环结构:根据条件是否满足,循环多次执行某代码块。if语句:作用:执行满足条件的语句单行if语句:语法:if(条件){ 条件......
  • 第一章 MySQL体系结构和存储引擎
    1.1定义数据库和实例数据库:物理操作系统文件或其他形式文件类型的集合实例:MySQL数据库由后台线程以及一个共享内存区组成在MySQL数据库中,实例与数据库的关系通常是一一对应的,即一个实例对应一个数据库,一个数据库对应一个实例MySQL数据库实例在系统上的表现就是一个进程MySQL......
  • switch多选择结构
    1.switchcase语句判断一个变量与以系列值中某个值是否相等,每个值称为一个分支。2.基本语句为:switch(){case:break;case:break;......default:3.case具有穿透性原本这个结果是:未知等级若将代码改成chargrade'B';switch(){case ‘A’ :System.out.prin......
  • 数据结构
    数据结构1线性表1.1顺序表1.1.1比较数组大小题目:设A=(a1,a2,am)和B=(b1,b2,...,bn)均为顺序表,A'和B'分别是除去最大公共前缀后的子表。例如,A=(b,e,i,j,i,n,g),B=(b,e,i,f,a,n,g),则两者的最大公共前缀为b、e、i,在两个顺序表中除去最大公共前缀后的......
  • JVM(一)JVM与Java体系结构
    目录JVM与Java体系结构1前置知识字节码与混合编程虚拟机Java虚拟机JavaVirtualMachineJVM的特点Java虚拟机的作用2JVM的整体结构Java代码的执行流程JVM的架构模型JVM的生命周期虚拟机的种类ClassicVMExactVM☆HotSpotJRockitJ9KVMCDC/CLDCHotSpotAzulVMLiquidVM3内存......
  • JVM(四)虚拟机栈(一)栈帧结构:局部变量表与操作数栈
    JVM(四)虚拟机栈(一)栈帧结构:局部变量表与操作数栈1虚拟机栈1.1简介虚拟机栈出现的背景:由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台的CPU架构不同,所以不能基于寄存器。这样做的优点是跨平台,指令集更小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。......