问题标签 [recursive-cte]
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.
sqlite - 普通 CTE 的递归 CTE
我有一个 with 子句,它按时间间隔和天气描述对一些天气数据进行分组:
结果 {counter, hour, current_weather_description}:
现在我想编写一个递归查询,逐小时选择第一行。顶行将始终包含该时间间隔内出现次数(计数)最高的描述,或者在平局的情况下,它仍将选择顶行。这是我的第一次尝试:
从玩弄查询看来,它似乎希望我的递归成员“来自”来自“段”而不是我的 temp_table。我不明白它为什么要我这样做。我正在尝试做与此示例类似的事情,但我希望每个递归查询中只有 1 行。
这是我想要的结果 {count, hour, description}:
reporting-services - 报告生成器在递归 CTE 中因类型不匹配而引发错误
我正在使用在这里找到的递归 CTE 来获取某个范围内的日期:
此 CTE 在我的 SQL Server 上运行良好,但是当尝试在 Report Builder 3.0 中使用此查询创建数据集时,我得到了“定义查询参数”对话框(我通常不会得到),单击“确定”后出现错误:Types don't match between the anchor and the recursive part in column "d" of recursive query "T".
我知道return ,我虽然 Report Builder 传递了进去 ,所以我认为将返回值转换DATEADD
为a会解决它,但它没有。SMALLDATETIME
DATETIME
@DateFrom
DATEADD
DATETIME
我在这里想念什么?
sql - 单个查询中的多个 CTE
是否可以在单个查询中将多个 CTE 与arel
?我正在寻找获得这样结果的方法:
如您所见,我有一个递归 CTE 和两个非递归 CTE。
sql-server - 这是否需要递归 CTE、创意窗口函数、循环?
我一生都无法弄清楚如何获得 X 类别分数的加权排名。例如,学生需要回答 3 个类别的 10 个问题(问题的数量和类别的数量最终都会变化)。要获得总分,每个 X (3) 个类别中的前 1 分将被添加到剩下的任何内容中,从而总计 10 个问题总分。
这是数据。我使用 CASE WHEN Row_Number() 来获取 TopInCat
http://sqlfiddle.com/#!6/e6e9f/1
小提琴有更多的学生。
这就是我设想它需要的样子,但不一定是这样。我只需要按 3 个类别详细数据列出 10 个问题,这样我就可以对下面的 Sort 1-10 列进行求和和平均。999 可以是 null 或其他任何值,只要我能总结出重要的内容并提供详细信息即可。
最后一件事,一旦满足 X (3) 阈值,类别就不再重要。因此,第 4 类将正常排序。
我真的很感激任何帮助。这几天一直在敲我的头。
sql - 在文件系统中查找文件的完整路径
我有一个这样的文件系统:
每个文件或目录都有一个 ID,以及它的父 ID。现在给定一个文件名或目录名,如何找到它的完整路径?
我的算法是:
postgresql - 在 PostgreSQL 中合并重叠的时间范围
我有一个包含时间戳范围和用户 ID 的 PostgreSQL (9.4) 表,我需要将任何重叠范围(具有相同的用户 ID)折叠成一条记录。
我已经尝试了一组复杂的 CTE 来实现这一点,但是在我们的(40,000 多行)真实表中存在一些使事情复杂化的边缘情况。我得出的结论是,我可能需要一个递归 CTE,但我没有任何运气来编写它。
这是一些用于创建测试表并用数据填充它的代码。这不是我们表格的确切布局,但对于示例来说已经足够接近了。
我发现我可以这样做以按开始时间对会话进行排序:
我可以使用它来确定单个记录是否与以前的记录重叠,使用窗口函数:
但这仅检测单个先前记录是否与当前记录重叠(请参阅记录 where id = 6
)。我需要一直检测到分区的开头。
之后,我需要将所有重叠的记录组合在一起,以找到最早会话的开始和最后一个会话的结束以终止。
我确信有一种方法可以做到这一点,但我忽略了这一点。如何折叠这些重叠的记录?
sql-server - SQL Server:如何从具有开始和结束时间的表中构建日期范围
我有一个包含 24 个条目的临时表,每个条目对应一个由 DayID 注释的特定日期的每个小时。该表包含在该特定时间范围内应用程序是打开还是关闭的指示。
我想减少表中的条目数,只显示应用程序应该打开的时间。
部分样本数据如下:
所需的输出应该是
#OnOff 表将始终包含一天中每个小时的值(即结束时间和开始时间总是连续的,除了最后一小时)。显然可以使用游标来实现这一点,但这似乎效率很低。有没有更好的方法来达到这个结果。
postgresql - 将递归 CTE 与 Ecto 一起使用
我将如何在计划使用 Ecto 运行的查询中使用递归 CTE 的结果?例如,假设我有一个表,节点,结构如下:
而且我还有另一个表 nodes_users 结构如下:
现在,我想获取一个节点位于或高于特定节点的所有用户,举个例子,让我们选择 id 为 8 的节点。
我可以使用以下递归postgresql查询来执行此操作:
这应该返回 users.* 用于 id 为 1、2 和 4 的用户。
我不确定如何使用 ecto 运行相同的查询,理想情况下以返回可链接输出的方式。我知道我可以使用片段宏将原始 SQL 插入到我的查询中,但我不确定这将用于此用途,或者这是否是最合适的途径。
帮助和/或建议将不胜感激!
sql-server - CTE 创建产品层次结构树
我有以下三个代表产品数据的表格。简而言之,产品“A”和“B”是最终产品。为了找出构成产品“A”的部件,我们查看“ProductComponents”表,该表给出了 ComponentListId = 1。
根据“PartsSubcomponents”表查询这个 ComponentListId 告诉我们它有两个子组件,即 A11 和 A12。
A11 很小,没有其他子组件。但是,A12 存在于“ProductComponents”表中,告诉我们它是由 X1 和 X2 制成的。
最终产品
产品组件
零件子组件
我需要使用 CTE 来查找产品及其部件之间的层次结构级别。在这种情况下,结果应该是这样的: