SPL 查询与报表计算实战指南
前言
查询和报表应用中常常涉及较复杂的运算,因为数据通常在数据库中,所以运算也通常用SQL来实施,但SQL有不少缺点,比如集合化不彻底,数据无序,难以分步计算,调试不便等,导致代码相当繁琐甚至写不出来,各种难题层出不穷。一个明显的例证,世界知名的IT问答网站stackoverflow.com几乎每天都有人发问寻求困难SQL的解法。
相比这这下,集算器SPL支持更彻底的集合化,天然有序,支持分步计算,便于调试,代码更好写,可以大幅简化计算难度。
SPL可以嵌入应用程序,连接数据库后从中读取数据,再实现复杂的运算,过程仅需要很简单的SQL用于读数据,从而可以避免难写的SQL。
本文针对各类复杂的计算任务,分章节讲解 SPL 的解题方法,包括:保持分组子集、有序计算、相对位置、有序分组、动态行列转换等。
本文附带了若干 txt 文件,其中三个 txt 文件是大部分例题的公共数据集,分别是订单表、员工表、客户表。数据结构如下:
部分例题需要用非通用的数据集,用到时会特别说明。