具有带有非标准编号的父子关系的枚举表

伊戈尔·库斯托夫(Igor Kustov)

我有一个两列的表格(我们称它为人)

id, parent_id 

我想枚举每条记录,但为每条记录分配一个子编号,其中parent_id不为null

id | parent_id| number 
 1     NULL       1
 2     NULL       2
 3       2        2.1
 4     NULL       3
 5       4        3.1 

父母应该有连续的数字,顺序是id,孩子-每个父母以1开头的连续数字。父母可能有很多孩子。但是孩子不能生孩子,所以3.3.3并非如此。实现此目标的最佳方法是什么?

戈登·利诺夫

我只是使用窗口函数来做到这一点:

select t.*,
       concat_ws('.',
                 dense_rank() over (order by coalesce(parent_id, id)),
                 (case when parent_id is not null
                       then row_number() over (partition by parent_id order by id)
                  end)
                )
from person t
order by id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

加入具有父子关系的三个表

从具有父子关系的表中获取访问权限

具有多个父子关系的Elasticsearch

具有父子关系的递归查询

如何在SQL中显示带有两个表的父子关系

带有父子关系的solrj查询失败

带有父子关系的注释的Spring Bean覆盖

订购带有父子关系的注释的层次查询?

其他表中具有父子关系的父的 SQL 状态

加载具有父子关系的类中的LinkageError

在具有父子关系的mysql中回溯?

将父子关系转换为具有属性的树

如何格式化具有父子关系的数组?

检索非标准化表中的列具有不同值的行

具有非标准fmt标题的WAVE文件

Vim和Syntastic具有非标准的HTML标签

处理具有非标准内容的CSV文件

AWS Athena:具有非标准文件结构的 S3 存储桶的分区表

CakePHP ORM:在具有非标准关联的同一个表上使用连接进行查询

在同一数据集中具有父子关系的JQuery Datatable。如何在表中将其显示为父子行?

带有 lodash 的嵌套过滤器用于父子关系

如何使用带有父子关系的JSON数据使用复选框创建树?

通过具有父子关系的对象对Java流进行分组

递归函数以获取具有父子关系的嵌套项目

来自具有父子关系的字符串的文件夹结构

对于具有父子关系的进程,CPU%在“ ps auxf”中意味着什么?

MongoDB-具有父子关系的数据库设计

如何在列表中一起订购具有父子关系的实体

如何使用T-SQL合并多个具有不同长度的父子关系?