common-table-expression相关内容

在Snowflake的公用表表达式中使用&;Match_Recognition&;

更新:已回复here。 我正在组合一个有点复杂的查询,以便在Snowflake中对大型时间序列数据集执行事件检测、连接和基于时间的绑定。我最近注意到,match_recognize使我能够雄辩地检测时间序列事件,但每当我尝试在公用表表达式(with .. as ..)中使用match_recognize表达式时,我收到以下错误: SQL编译错误:此上下文不支持Match_Recogni ..

递归和SQL Server

我需要在SQL Server中进行递归求和。我想要一个存储过程,我可以在其中传递一个父ID,然后返回链接到该父ID的所有子项(以及子项的子项)的总计。 这是我到目前为止所拥有的 IF object_id('tempdb..#Averages') IS NOT NULL BEGIN DROP TABLE #Averages END CREATE TABLE #Averages ..
发布时间:2022-06-24 11:33:25 数据库

PostgreSQL升级到12+将哈希连接更改为慢速嵌套循环

我们正在尝试从版本9系列升级,并有一个打破交易的慢查询,它在10和11中运行正常,但在12和13中运行速度慢许多倍。我测试了11和12系列中的次要版本,次要版本不会影响它。 问题在于规划器选择嵌套循环联接,而不是它应该使用的哈希联接。 v11哈希联接: -> Nested Loop Left Join (cost=276056.74..285056.52 rows=1714 ..
发布时间:2022-04-16 14:54:56 其他开发

使用递归CTE确定一条记录是否为另一条记录的后代

下表存储了说明手册中的主题。除了作为根的1的记录id之外,每个主题都有一个父主题。该应用程序允许更改除根主题之外的所有主题的父级,并且我将需要防止将祖先分配为其自身的后代。 例如,记录#2的父级不应从1更改为7。 如何确定一条记录是否为另一条记录的后代?我不愿对后代的数量进行“硬编码”。请注意,我实际上使用的是MariaDB。 CREATE TABLE IF NOT EXISTS ` ..

基于条件的递归SQL查询返回TRUE/FALSE

我有以下流程图。希望这是不言而喻的 在层次结构的顶部有一个请求,它是它下面所有请求的基本父请求。下面的请求具有‘id’、‘parent_id’、‘State’字段 我的最终目标是查明父项的子请求中是否至少有一个具有非法/不合法状态。有几个“不合法”的状态--这就是我使用NOT IN的原因。因此,如果至少有一个子请求的状态错误,我只需返回TRUE/FALSE 我使用下面的查询来构建层次 ..

使用重叠时间跨度对数据进行SQL分组

我需要根据记录的开始和结束时间,通过重叠的时间跨度将彼此相关的数据分组在一起。SQL-FIDDLE此处:http://sqlfiddle.com/#!18/87e4b/1/0 我构建的当前查询给出的结果不正确。CallID%3应提供的CallCount为4。这并不是因为记录6不包括(因为它不与3重叠),而是因为它与其他相关记录之一重叠而应包括在内。因此,我认为可能需要一个递归CTE,但我不确 ..
发布时间:2022-04-16 14:34:27 数据库

SQL Server 2012中的递归衰减平均值

我需要计算衰减平均值(累积移动?)一组值的集合。序列中的最后一个值为50%权重,将所有先前序列的衰减平均值递归为另一个50%权重。 我提出了一个CTE查询,它可以产生正确的结果,但它依赖于一个连续的行号。我想知道在SQL 2012中有没有更好的方法来做到这一点,也许是使用over()的新窗口函数,或者类似的东西? 在实时数据中,行按时间排序。我可以使用一个SQL视图和row_numbe ..

CTE语句中关键字选项附近的语法不正确

在尝试在SQL Server2008中保存视图时,我收到一条错误的关键字‘选项’附近的语法错误。我正在尝试将MAXRECURSION选项添加到我的公用表表达式的末尾。我见过的所有例子和我以前创建的CTE都不介意CTE结尾处的“Option(MAXRECURSION0)”。 有人知道我为什么会收到这个错误吗?CTE在没有OPTION子句的情况下工作,尽管它达到了最大递归数(100)。 W ..
发布时间:2022-04-16 14:29:04 其他开发