归并分组取第一组计数
【问题】
查出最前面,重复的记录数总和
结果 2,3,1,2 (即字段1的 A为2,字段2的C为3,字段3的D为1,字段4的A为2)
ID 字段1 字段2 字段3 字段4
1 A C D A
2 A C A A
3 B C E E
4 C E C E
5 B F C F
6 B G E F
7 C A C F
8 B A C F
9 A E E G
【回答】
嵌套子查询加窗口函数的SQL不容易理解,用SPL来做的话,只需一句核心脚本即可完成,且适用于字段数不确定的情况。
A |
|
1 |
$select ID,字段1,字段2,字段3,字段4 from tb order by ID |
2 |
=to(2,5) |
3 |
=A2.(A1.(~.field(A2.~)).group@o(~)(1).len()).concat@c() |
A1:sql取数,按ID排序
A3:按照相邻成员分组,取第一个分组个数,最后转换为指定格式,要倒排计算只要order by ID desc就行了。