计算&AI •
1062 引用 •
1118 回帖 •
475 关注
博客
关注
-
跨子组按序列填充字段值 问题描述 某库表的前两个字段 Group1、Group2 是分组字段,LineID 是组内序号,TargetField 是目标字段。按 Group1、Group2、Li ..
-
问题描述 库表 tbl 的 ID 字段是汽车分类,每个分类再细分为品牌(Brand)和型号(Type)。现在要按 ID 分组,判断该组内汽车的差异来源:如果该组有多个品牌,则 Differen ..
-
问题描述 将多个结构相似但列名不同的表按 ID 全外连接合并为宽表。4 个表结构类似,每个表 2 个字段,字段含义相同但名字不同(id、id2、id3、id4 都是 ID)。现在要将 4 个表 ..
-
问题描述 一张表记录了员工信息,包含 id(排序键)、name(姓名)、dept(部门)三个字段。现在要将 dept 列中的 NULL 值向前填充,即:用同列中前一个非 NULL 值替换 NU ..
-
问题描述 按条件分段累计,遇到 logic 为 t 时重置累计值并重新开始累加。一张事件表 table_t1 记录了事件序列,包含 id(排序序号)、logic(条件标记,取值为 t 或 f) ..
-
报表开发离不开 SQL。简单 SQL 更多,但通常只需片刻即可完成;真正耗时的,是那些逻辑繁琐、步骤繁多的 SQL,数量虽相对少,却往往成为报表开发中效率最低的瓶颈,让报表开发人员倍感吃力。 ..
-
12 按规则扩展出多条记录 这类任务是指按分隔符拆分字符串、按区间展开日期、按固定数量等规则,将一条记录扩展成多条记录。SQL要用JOIN语句+嵌套结构或递归结构来实现,代码复杂易错。 例1 ..
-
11 时间日期序列的计算 这类任务是指成员是时间和日期的有序集合的计算。除了常见的困难比如有序计算之外,SQL在生成时间日期序列方面也不方便,通常要借助辅助表或递归语句来实现,结构复杂代码繁琐 ..
-
10 字符串集合的有序计算 这类任务是指字符串序列内或序列间的计算,常用于不规范数据的整理。SQL的基础数据类型(结果集)是无序集合,实现此类计算有天然障碍;涉及到记录级或字段级的序列时,SQ ..
-
9 分组后的集合 运算 这类任务是指分组后的交集、并集、差集、合集等集合运算。SQL不支持显式集合,只适合处理简单场景下的集合计算,复杂的场景下代码会很难写,尤其是分组内或分组间的集合计算。 ..
-
8 多层 Json 的计算 这类任务是指对多层次多维度Json串的计算、生成和解析。大部分SQL只支持二维结构的记录集合,必须用函数把多层Json降为二维结构,才能进行计算,如果层级较多,代码 ..
-
7 各种行列转换和逆转换 这类任务经常在报表输出时出现,难点在于转换后的列名是动态未知的。大部分SQL转置时必须写出列名,通常要改用存储过程动态生成列名,再动态执行SQL,结构很复杂。 例1 ..
-
6 多层次的关联计算 这类任务是指多表关联、两表互关联、自关联等灵活性较高的计算。SQL用JOIN实现关联,碰到多层次关系时,常常要用嵌套结构和递归结构,表被关联多次时还要起别名,代码复杂易出 ..
-
5 对齐外部集合的成员并进行分组 这类任务是指分组依据是外部的另一个集合的成员,而不是记录集合自己的字段值及计算列组成的集合。SQL不能直接按照外部集合进行分组,要通过关联外部表或union多 ..
-
4 与成员次序有关的分组 与简单的等值分组不同,有序分组是指保持数据有序的情况下,比较相邻的数据以分组,或满足条件以分组的任务。SQL不支持有序分组,通常要用打标记的办法间接实现,代码很复杂, ..
-
3 在有序情况下引用相邻的成员 这类任务是指在遍历或循环中,访问相对于当前成员的其他位置或区间的成员,属于较复杂的有序计算。SQL 要通过窗口函数(lag/lead)获取相对位置的成员,通常会 ..
-
2 和次序位置有关的运算 这类任务是指基于序号的、与位置相关的计算。SQL缺乏天然序号,一般要先造出序号再进行计算,代码比较难写,涉及分组后有序计算时,难度将会更大。 例1 :每隔N 个订单抽 ..
-
1 针对分组子集的运算和处理 对集合分组后,每组数据都是原集合的子集,也就是分组子集。这类难题是指分组后不需要立刻汇总,而是要保持分组子集继续计算。SQL分组后必须立刻汇总,不能直接保持分组子 ..
-
基本常规运算 这类任务是指查询、排序、关联、分组汇总等基本运算,可以以此了解SPL的基础知识,供初次接触SPL的用户快速入门,已经了解过SPL的用户可以跳过这部分。 例1 :列出所有不重复的部 ..
-
准备工作 先下载并安装 esProc,推荐标准版:https://www.raqsoft.com.cn/download/download-jsq [图片] 安完 esProc 后,试一下 e ..
-
前言 查询和报表应用中常常涉及较复杂的运算,因为数据通常在数据库中,所以运算也通常用SQL来实施,但SQL有不少缺点,比如集合化不彻底,数据无序,难以分步计算,调试不便等,导致代码相当繁琐甚至 ..
-
某些数据库 SQL 缺失必要的能力,通常要编写大段的代码,才能间接实现类似的功能,有些情况甚至要改用存储过程,连结构都变了。常见的比如:生成时间序列、保持分组子集、动态行列转换、自然序号、相对 ..
-
逻辑数仓可以实现多源混算,但需要配置视图、预处理数据,结构太沉重。duckdb 是轻量级的方案,但没有内置 Oracle 的 connector,自己开发难度又太高。同为轻量级方案,esPro ..
-
MongoDB 自带的查询语法功能比较繁琐,简单的任务也要写很长代码,复杂计算更难实现,比如: SPL assists MongoDB: Only keep the running total ..
-
数据分析或报表类应用中有时会遇到各类复杂的 SQL,嵌套了多层的、关联了自己的、动态转置的,比如: From SQL to SPL:Create columns from distinct v ..