Исключить подзапрос для среднего числового значения

поиск

Запрос выбирает все точки, начинающиеся с «Ванкувер», и находятся в пределах 5-минутной зоны от центра всех местоположений, начинающихся с «Ванкувер». Например, Ванкуверский Южный Фрейзер, Ванкуверский Фэрвью и Ванкуверский Баллантри Плэйс W имеют широту и долготу в пределах 5 минут от их средней широты и долготы. Широты и долготы хранятся в виде (4915, 12311) целочисленных пар (что означает 49,15'N и 123,11'W).

Код SQL

Следующая мерзость SQL делает свое дело:

SELECT
  NAME
FROM
 STATION
WHERE
      DISTRICT_ID = '110'
  AND NAME LIKE 'Vancouver%'
  AND LATITUDE BETWEEN
    (SELECT round((min(LATITUDE) + max(LATITUDE)) / 2)-5 FROM STATION WHERE DISTRICT_ID = '110' AND NAME LIKE 'Vancouver%')
    and
    (SELECT round((min(LATITUDE) + max(LATITUDE)) / 2)+5 FROM STATION WHERE DISTRICT_ID = '110' AND NAME LIKE 'Vancouver%')
  AND LONGITUDE BETWEEN
    (SELECT round((min(LONGITUDE) + max(LONGITUDE)) / 2)-5 FROM STATION WHERE DISTRICT_ID = '110' AND NAME LIKE 'Vancouver%')
    and
    (SELECT round((min(LONGITUDE) + max(LONGITUDE)) / 2)+5 FROM STATION WHERE DISTRICT_ID = '110' AND NAME LIKE 'Vancouver%')
ORDER BY
  LATITUDE

Вопрос

Как можно упростить этот запрос, чтобы удалить избыточность без использования представления?

ограничения

База данных MySQL, но ANSI SQL всегда хорош.

Спасибо!

Ответы на вопрос(5)

Ваш ответ на вопрос