如何从表中检索数据?

时间:2011-11-11 13:41:05

标签: php mysql

我在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)计算。我该如何实现呢?

1 个答案:

答案 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