Eliminar subconsulta para o valor numérico médio

Busca

A consulta seleciona todos os pontos que começam com "Vancouver" e ficam a uma área de 5 minutos do centro de todos os locais que começam com "Vancouver". Por exemplo, Vancouver South Fraser, Vancouver Fairview e Vancouver Ballantree Place W têm latitudes e longitudes dentro de 5 minutos da latitude e longitude médias. As latitudes e longitudes são armazenadas como (4915, 12311) pares inteiros (significando 49.15'N e 123.11'W).

Código SQL

A seguinte abominação SQL faz o truque:

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

Pergunta, questão

Como essa consulta pode ser simplificada para remover a redundância, sem usar uma exibição?

Restrições

O banco de dados é MySQL, mas o ANSI SQL é sempre bom.

Obrigado!

questionAnswers(5)

yourAnswerToTheQuestion