gpt4 book ai didi

mysql - 编写一条 SQL 语句进行速度跟踪

转载 作者:行者123 更新时间:2023-11-29 19:16:59 24 4
gpt4 key购买 nike

我的任务是跟踪车辆的速度。我的数据库包含以下列:phoneid int、时间时间戳、纬度 double 、经度 double 、speed int。这些记录每隔几秒更新一次,我需要一个 SQL 语句来查找平均速度在 50 到 100 英里/小时之间至少一分钟的人。

数据是通过 GPS 跟踪记录器收集的。

有人可以建议我找出平均速度超过速度限制(即 50 到 100 英里/小时)至少一分钟的人吗?

我应该首先根据时间对记录进行分组,还是应该根据平均速度对它们进行分组

如果我将 Select 语句写为: 通过phoneid从Speed_track组中选择*,avg(speed);那么我就可以仅根据速度获取记录

还有其他建议吗?

我可以使用哪些分析函数?

我可以为上面编写过程吗?

最佳答案

假设:对于时间接口(interface) t0 到 t1,您很乐意采用该间隔期间记录的所有速度观测值的平均值作为该间隔期间平均速度的表示。如果速度观察结果不规则,这可能不是一个好的假设,并且会使您的问题变得复杂。

SELECT * FROM
(SELECT phoneid,
time,
(SELECT AVG(speed) FROM Speed_Track STI
WHERE STI.phoneid = STO.phoneid AND
STI.time > TIMESTAMPADD(MINUTE, -1, STO.time)
AND STI.TIME <= STO.time) as minute_rolling_avg
FROM Speed_Track STO) POSSIBLE_SPEEDERS
WHERE POSSIBLE_SPEEDERS.minute_rolling_avg > 50.0
AND POSSIBLE_SPEEDERS.minute_rolling_avg <= 100

这是一种蛮力。也许还有另一种方法。我很想找到一种方法来消除每部从未超过 50 的手机,以便不必计算它们的移动平均值。

关于mysql - 编写一条 SQL 语句进行速度跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com