13 Lut 2015

Wyszukiwanie punktów po odległości przy użyciu funkcji length

Przykładowy sql:

SELECT *, LENGTH(p_path::path) AS distance FROM (SELECT *, p.p_name, '((54.175540523964, 15.527111972064), ('||p_lat::text||','||p_lng::text||'))' AS p_path
FROM
  points p
WHERE
 p.p_status (p.m_id=5
OR
 (51.175540 < p_lat AND p_lat < 57.17554 AND 12.52711 < p_lng AND p_lng < 18.52711))
ORDER BY
  p.m_id=5 DESC NULLS LAST) t
ORDER BY distance ASC LIMIT 6