gpt4 book ai didi

mysql - 如何获取当前时间戳的纬度和经度?

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

我有一个数据库,其中包含时间戳及其相应的纬度和经度的列表。我正在尝试获取数据库中最新时间戳的经度和纬度。在这里,我可以获得最新的时间戳,但我的纬度和经度没有更新,并且始终返回第一个时间戳的值。如何让它从最近的时间戳返回?

 SELECT delivery.vehicle_id, max(timestamp), latitude, longitude from test
inner join delivery on delivery.vehicle_id = test.vehicle_id
where DATE_FORMAT(timestamp,'%H:%i:%s') <=
DATE_FORMAT(CURRENT_TIMESTAMP,'%H:%i:%s')
group by delivery.vehicle_id

所需的输出:例如,车辆 id 4034 的最新时间戳是 13:20,车辆 id 的最新时间戳是 13:05,因此对于车辆 id 4034 和车辆 id 4035,它应该得到纬度 = 22.29098 和经度 = 114.199942纬度 = 22.279973,经度 = 114.188513。输出需要是所有车辆的最新纬度和经度,而不仅仅是一辆。

 delivery table
vehicle_id start_time end_time
4034 11/1/2014 9:00 11/1/2014 17:00
4035 11/1/2014 8:00 11/1/2014 16:00

test table
timestamp vehicle_id latitude longitude
11/1/2014 0:00 4034 22.283861 114.146215
11/1/2014 3:59 4034 22.292902 114.200619
11/1/2014 8:49 4034 22.28557 114.192797
11/1/2014 13:20 4034 22.29098 114.199942
11/1/2014 13:23 4034 22.290495 114.196016
11/1/2014 0:08 4035 22.293131 114.200671
11/1/2014 6:02 4035 22.293043 114.200737
11/1/2014 9:35 4035 22.278188 114.153437
11/1/2014 13:05 4035 22.279973 114.188513
11/1/2014 14:33 4035 22.277418 114.17543

最佳答案

对于这样的方法,您首先需要使用每个 vehicle_id 的最新时间戳创建一个子查询,然后在适当的列上加入此子查询以获取其余信息(< em>即相关的纬度和经度):

SELECT
t.vehicle_id,
t.timestamp,
t.latitude,
t.longitude
FROM
test AS t
INNER JOIN
(SELECT
vehicle_id, MAX(timestamp) AS maxT
FROM
test
GROUP BY
vehicle_id) AS max_log ON max_log.vehicle_id = t.vehicle_id
AND max_log.maxT = t.timestamp

注意只有在时间戳数据标准化时才有效,就像下一个示例,或者如果您使用可用的 MySQL 类型之一:DATETIME or TIMESTAMP .

test table
timestamp vehicle_id latitude longitude
11/01/2014 00:00 4034 22.283861 114.146215
11/01/2014 03:59 4034 22.292902 114.200619
11/01/2014 08:49 4034 22.28557 114.192797
11/01/2014 13:20 4034 22.29098 114.199942
11/01/2014 13:23 4034 22.290495 114.196016
11/01/2014 00:08 4035 22.293131 114.200671
11/01/2014 06:02 4035 22.293043 114.200737
11/01/2014 09:35 4035 22.278188 114.153437
11/01/2014 13:05 4035 22.279973 114.188513
11/01/2014 14:33 4035 22.277418 114.17543

您可以在下一个链接上使用一个工作示例:

DB Fiddle Example

关于mysql - 如何获取当前时间戳的纬度和经度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239651/

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