点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
考虑一下,我有一个表格,用于存储一个人在不同时间间隔的位置
ID | 用户ID | 点
1 | U1 | 21.1234
2 | U1 | 21.2234
3 | U1 | 21.3234
4 | U2 | 21.4234
5 | U2 | 21.5234
我的目的是找到人所经过的总距离。
所以我知道下面的查询将以米为单位返回距离
选择a.userid作为" ID",a.point.st_distance(b.point)作为"距离(以米为单位)" 从选项卡a,选项卡b 其中a.id ='1' 和b.id ='1';
但是我正在尝试使它自动化-类似于过程
即使我想在for循环中遇到问题,如何获取下一个索引并构建查询框架-在这里稍微丢失了。
以下将给我特定集合的总数
从选项卡中将COUNT(*)选择到lv_count中,作为WHERE a.userid =:PID;
我相信GROUP_BY周围的所有内容都可以使用,但我实在不敢相信。
基本上我想要达到的目标是
tab [0] .point.ST_DISTANCE(tab [1] .point)
您可以使用窗口功能 LAG 以访问同一用户ID的上一行,并进行两点之间的距离计算。 在结果上,您可以对每个用户进行简单的总和,以得出整个距离。 关于滞后函数,您必须考虑将获得每个用户的第一条记录的空值(需要在语句中考虑)。
Hi Florian Pfeffer ,
非常感谢这个建议-这是我没意识到的出色关键字。 我试图理解文档中给出的示例,以使其在某种程度上实现。
我在上面的第一条记录中得到了返回NULL的解释-可以处理该问题,并且还可以添加SUM函数的一部分,但是如果根据上述示例,如果您可以将一个小的查询组合在一起,那就太好了。
一周热门 更多>