数据蒋堂 | 有序分组

  1. 云栖社区>
  2. 数据派THU>
  3. 博客>
  4. 正文

数据蒋堂 | 有序分组

行者武松 2017-10-16 16:04:44 浏览1049
展开阅读全文

image

我们知道,SQL延用了数学上的无序集合概念,所以SQL的分组并不关注过待分组集合中成员的次序。我们在前面讨论过的等值分组和非等值分组,也都没有关注过这个问题,分组规则都是建立在本身的成员取值本身上。但如果我们要拓展SQL,以有序集合为考虑对象时,那就必须考虑成员次序对分组的影响了,而且,现实业务中有大量的有序分组应用场景。

image

一个简单的例子:将一个班的学生平均分成三份(假定人数能被3整除)。按我们在前面所说的分组定义,这也可以看成是一种分组,但这个运算在SQL中却很难写出来,因为分组依据和成员取值没有关系。

如果使用我们在前面讲有序遍历语法时的#符号,这个问题就很容易解决了。

image

用SQL实现这个运算就麻烦很多,需要先用子查询造出一个序号,然后再执行类似的分组规则。

image

上面这个例子中其实还没有真正关注成员的次序,只是说明了序号的作用,当待分组集合

网友评论

登录后评论
0/500
评论
行者武松
+ 关注
所属云栖号: 数据派THU