dennikolas
@dennikolas
PHP макака

Как осуществить выборку MySQL?

Есть набор сущностей в бд. У каждой сущности заданы координаты(обычные числа, как отрицательного, так и положительного диапазона) x и y, двумя полями. Нужно выбрать только те, которые входят в окружность с центром (x, y) и радиусом R. Как это сделать через множество запросов - очевидно, а как сделать одним(парой-тройкой) запросом?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@alexalexes
А зачем вам куча запросов? Нужен всего один, но с параметрами и мат. функциями.
Чистая математика, ничего лишнего.
SELECT *
FROM points p
WHERE sqrt(pow(p.x - :x, 2) + pow(p.y - :y, 2)) <= :r -- используем формулу определения расстояния между двумя точками, параметры запроса, которые нужно задать :x, :y, :r.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы