0
我有一个查询,它返回距离一组XY坐标最远的sighting_id。即时通讯尝试在XY坐标上创建基于函数的索引以加快查询速度,iv了解如何为包含字符串的字段构建一个,但不确定如何构建xy坐标。基于函数的索引XY坐标
的架构目击(sighting_id(PK),spotter_id,bird_id,纬度,经度,年月日,描述)
WITH params as (SELECT -28 as lat, 151 as lon
FROM dual)
SELECT sighting_id, sqrt(power(lat - latitude, 2) + power(lon - longitude, 2))
AS distance FROM sightings CROSS JOIN params
WHERE sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)) =
(SELECT MAX(sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)))
FROM sightings CROSS JOIN params);