SQL虽然有集合概念,但对于集合运算,特别是有序集合运算,提供的支持却很有限,经常要采用很费解的思路才能完成,计算效率也不佳,而集算器SPL 在方面则要直观许多,可以按自然思维习惯写出运算。这里对SQL和集算器SPL在集合运算和行号相关运算方面进行了对比。
1,,和集
<强>示例1:强>重叠部分不重复计数时求多个时间段包含的总天数
MySQL8:
递归t(开始、结束)(选择日期# 39;2010 - 01 - 07年& # 39;,日期# 39;2010 - 01 - 9 & # 39;
union all选择日期# 39;2010 - 01 - 15 & # 39;,日期# 39;2010 - 01 - 16 & # 39;
union all选择日期# 39;2010 - 01 - 07年& # 39;,日期# 39;2010 - 01 - 12 & # 39;
union all选择日期# 39;2010 - 01 - 08 - & # 39;,日期# 39;2010 - 01 - 11 & # 39;),
t1 (d)(选择开始,结束从t
union all选择d + 1,结束从t1 d
select count(不同d)从t1;
说明:此例先将各时间段转成时间段内所有日子对应的日期,然后再求不同日期的个数
,
集算器SPL: