1
1
好的,我们开始:
结果:
编辑-解决方案更改灵感来源于van's order by!这样更简单。 |
2
4
在我看来,您似乎希望将层次结构扁平化并排序,获得此排序的最便宜方法是在具有完整路径的表中存储一个额外的列。 例如: Name | Full Path Free Stuff | Free Stuff aa2 | Free Stuff - aa2 一旦存储了完整的路径,就可以对其进行订购。 如果深度只有一个,则可以使用单个子查询(并对其排序)自动生成达到此效果的字符串,但当深度变深时,此解决方案无法轻松工作。 另一种选择是,将这些内容全部移动到临时表中,并根据需要计算其中的完整路径。但它相当昂贵。 |
3
2
您可以让表自己看一看,按父名称排序,然后按子名称排序。
|
5
1
这里有一个使用复活公共表表达式的完整工作示例。
|
6
1
长填充是为了说明SQL Server的int数据类型从2147483648到2147483647。
你可以
值得注意的是,此表达式不能使用任何索引。这意味着对大表的排序将很慢。 |
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |