问题标签 [recursive-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15783 浏览

sql - 递归 CTE 如何逐行运行?

我认为我已经很好地掌握了递归 CTE 的格式,可以编写一个,但我仍然感到沮丧,因为我无法手动处理一个(假装自己是 SQL 引擎并用笔和纸达到结果集) . 我找到了这个,这与我正在寻找的内容接近,但不够详细。我通过 C++ 递归函数跟踪并理解它是如何运行的没有问题——但对于 SQL,我不明白引擎为什么或如何知道停止。每次都调用锚点和递归块,还是在以后的迭代中跳过锚点?(我对此表示怀疑,但我试图表达我对它似乎跳来跳去的方式的困惑。)如果每次都调用锚点,那么锚点如何不会在最终结果中出现多次?我希望有人可以分解第 1 行第 2 行等。随着结果集的累积,会发生什么以及“内存中”是什么。

我冒昧地从这个页面中窃取了我的示例,因为它似乎是最容易理解的。

0 投票
1 回答
772 浏览

sql - 在同一张表上的 3 个级别上的一对多连接

我有这个带页面的表,这些页面的父级也是同一个表中的页面。

对于此示例,该表如下所示:

现在我的问题是在创建如下菜单结构时 SQL 会是什么样子:

我目前有这个:

但这几乎不会产生我想要的输出,而且我认为我的做法完全错误......

编辑:

这是我目前拥有的:

而且它似乎有点工作但没有完全递归,第一次递归似乎工作但看起来它没有第二次这样做。

结果:

0 投票
6 回答
63103 浏览

mysql - MySQL如何填充范围内的缺失日期?

我有一个包含 2 列、日期和分数的表。它最多有 30 个条目,过去 30 天中的每一天都有一个。

我的问题是缺少一些日期 - 我想看看:

我需要从单个查询中得到:19,21,9,14,0,0,10,0,0,14... 这意味着缺失的日期用 0 填充。

我知道如何获取所有值并使用服务器端语言迭代日期并丢失空格。但这是否可以在 mysql 中执行,以便我按日期对结果进行排序并获取丢失的部分。

编辑:在这个表中还有一个名为 UserID 的列,所以我有 30.000 个用户,其中一些用户在这个表中有分数。如果日期 < 30 天前,我每天都会删除日期,因为我需要每个用户最近 30 天的分数。原因是我正在制作过去 30 天的用户活动图表,并且要绘制图表,我需要用逗号分隔的 30 个值。所以我可以在查询中说让我得到 USERID=10203 活动,查询会得到 30 个分数,过去 30 天中的每一天都有一个分数。我希望我现在更清楚了。

0 投票
4 回答
25552 浏览

java - 递归 JPA 查询?

JPA 2 是否有运行递归查询的机制?

这是我的情况:我有一个实体 E,它包含一个整数字段 x。它也可能有 E 类型的子代,通过 @OneToMany 映射。我想做的是通过主键找到一个 E,并获取它的 x 值,以及它所有后代的 x 值。有没有办法在一个查询中做到这一点?

我使用的是 Hibernate 3.5.3,但我不希望对 Hibernate API 有任何显式依赖。


编辑:根据这个项目,Hibernate 没有这个功能,或者至少在 3 月份没有。所以 JPA 似乎不太可能拥有它,但我想确定一下。

0 投票
3 回答
820 浏览

c++ - 递归内联函数

我有这个文件:

我注意到当有递归函数时,编译器通常会忽略内联声明。但我的问题是为什么如果我删除内联声明,我可以这样做:

这些都很好,但在联动阶段:

我收到一个错误:`MyFactorial(int) 的多个定义

0 投票
2 回答
29381 浏览

postgresql - 使用查询递归查找父级

我正在使用postgresql。我有如下表

我想编写一个 sql 查询,它将给出输入的最终父级。

即假设我将 106 作为输入传递,那么它的输出将是 103。

0 投票
2 回答
22661 浏览

sql - MySQL中的递归存储函数

我正在尝试制作一个递归地为特定类别构建路径的函数

当我尝试使用没有父 (parent_id = 0) 的类别运行此函数时,它工作正常,但是当我尝试具有 parent_id > 0 的类别时,我得到 1424 递归存储函数和触发器是不允许的。

我该如何解决这个问题?我将在至少应具有 MySQL 服务器版本 5.1 的常规 Web 托管服务上托管此代码。


在艾克沃克的帮助下,我做了一个程序,而不是工作正常

然后我用这样的东西来称呼它

0 投票
2 回答
235 浏览

php - 查询自关系类别表

我正在尝试针对下表优化我的 php 代码

要获取所有类别和子类别,我使用一个查询仅查询父类别,然后发出单独的查询以获取子类别。

这是我列出所有主要类别的代码

要列出每个类别的各个子类别,我使用以下查询

我有 30 个类别,因此上述问题每页有 30 个查询,我试图尽量减少查询数量。有什么提示吗?

谢谢

0 投票
2 回答
3584 浏览

sql - sql递归函数——查找管理器

可以说我有下表

基本上,要求是拉出您正在搜索的 user_id 下的所有经理。因此,例如,如果我发送“Linda”,那么它应该返回给我:

或者如果我发送“标记”,那么它应该返回给我:

我听说过递归函数,但我不确定如何做到这一点。任何帮助,将不胜感激。

0 投票
1 回答
516 浏览

php - 你可以在递归函数 PHP/MySQL 中使用 JOIN 吗?

我有下表。

我可以使用以下函数来生成数组树。

现在我想加入一个教练表来获取教练的名字。

现在我尝试以不同的方式加入,但我无法在每个数组中获取培训师的姓名。

有什么方法可以使用 JOIN 在递归函数中获取培训师的姓名?

以上函数为CodeIgniter,请忽略。

提前致谢。