【问题】
查出最前面,重复的记录数总和
结果 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就行了。
![]()
这篇博客探讨了一种使用SPL解决SQL查询问题的方法,特别是针对找出数据表中各字段重复记录的总和。通过一个简单的SPL脚本,可以有效地处理这种情况,即使面对字段数量不确定的复杂表结构。博客内容涉及到数据库管理和数据处理技巧。

被折叠的 条评论
为什么被折叠?



