我在PHP工作。这是我的问题:
$sql = "SELECT *
from place as s
where checkDistance($lati1,$longi1,s.lat,s.lon)<$dist";
此地方信息表有三个字段: placeId , PlaceName 和地址。现在我想计算 placeId 的评分,这是上述查询的结果。为了计算评分,我有另一个表评级,其中有两个字段: placeId 和 noOfPerson 。
每个placeId的评分将由(noOfPerson / maximum_no_of_person)计算。我该如何实现呢?
答案 0 :(得分:2)
您的查询可以在此处完成大部分工作,这将从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