Как я могу извлечь данные из таблицы?

#php #mysql

#php #mysql

Вопрос:

Я работаю на PHP. Это мой запрос:

 $sql = "SELECT * 
        from place as s 
        where checkDistance($lati1,$longi1,s.lat,s.lon)<$dist";
  

В этой таблице place есть три поля: placeId, PlaceName и Адрес. Теперь я хочу вычислить рейтинг placeId, которые являются результатом приведенного выше запроса. Для вычисления рейтинга у меня есть другая таблица рейтинга, в которой есть два поля: placeId и noOfPerson.

Рейтинг будет рассчитываться по (noOfPerson / maximum_no_of_person) для каждого placeId. Как я могу это реализовать?

Ответ №1:

Ваш запрос мог бы выполнить большую часть работы здесь, он выберет значения из place таблицы, объединенные с количеством человек для каждого места, упорядоченные по нужному вам ранжированию, сверху вниз:

 SELECT s.placeid, s.PlaceName, s.Address, r.noOfPerson
FROM place as s JOIN rating as r ON (s.placeid = r.placeid)
WHERE checkDistance($lati1,$longi1,s.lat,s.lon)
ORDER BY r.noOfPerson / ( SELECT MAX(noOfPerson) FROM rating ) DESC