Станция наблюдения за погодой 18 HackerRank - PullRequest
0 голосов
/ 08 мая 2020

Как мне написать для этого запрос? Считайте P1 (a, b) и P2 (c, d) двумя точками на 2D-плоскости.

a, оказывается, равно минимальному значению в северной широте (LAT_N в STATION)
b оказывается равным максимальному значению в северной широте (LAT_N в STATION)
c бывает равным минимальному значению в западной долготе (LONG_W в STATION)
d оказывается равным максимальному значению в западной долготе (LONG_W в STATION)

Запросите Манхэттенское расстояние / Eculids Distance между точками P1 и P2 и округлите его до 4 десятичных знаков.

Table STATION(ID number, CITY varchar2(21), STATE varchar2(2), LAT_N number, LONG_W number)

любая идея будет принята

1 Ответ

0 голосов
/ 08 мая 2020

Самый простой способ решить эту задачу - использовать математическую функцию [Dis. = sqrt ((x2 − x1) ^ 2 + (y2 − y1) ^ 2)], попробуйте: для сервера sql: для Manhattan Расстояние:

select format(abs(min(LAT_N)-max(LAT_N))+abs(min(long_w)-max(long_w)),'.####') from station;

И для Eculids Distance:

select format(sqrt(square(min(LAT_N)-max(LAT_N))+square(min(long_w)-max(long_w))),'.####') from station;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...