前言:
当前兄弟们对“mysql57图标”都比较看重,我们都想要学习一些“mysql57图标”的相关文章。那么小编也在网络上收集了一些有关“mysql57图标””的相关资讯,希望各位老铁们能喜欢,你们一起来了解一下吧!某些场景可能需要维护一些有父子关系的数据,当然代码可以实现,存储过程也可以,本文以mysql 为例,纯sql实现一下:
db:MySQL 57table:sys_areafield:area_code, area_name, parent_code #主键,名称,父id
sql
SELECT T2.node_level, T3.*FROM ( SELECT @node_id AS nodeId, ( SELECT @node_id := GROUP_CONCAT(area_code) FROM sys_area WHERE FIND_IN_SET(parent_code, @node_id) ) AS T1, @nl := @nl + 1 AS node_level FROM sys_area, (SELECT @node_id := '110100', @nl := 0) T4 WHERE @node_id IS NOT NULL ) T2, sys_area T3WHERE FIND_IN_SET(T3.area_code, T2.nodeId)ORDER BY node_level, area_code;
结果集:
@node_id 为变量,sql 中变量以@开头;
@变量名 : 定义一个用户变量.= 对该用户变量进行赋值.用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号。使用set命令对用户变量进行赋值时,两种方式都可以使用;用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。
2.GROUP_CONCAT:拼接函数,具体怎么用,自行百度,完整语法:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
3.FIND_IN_SET:查找函数
select FIND_IN_SET('2', '1,2'); 返回2select FIND_IN_SET('6', '1'); 返回0 strlist中不存在str,所以返回0。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #mysql57图标