我想在15码广场(因此具体值)内分组类似的值。更好的方式来使用PHP中的SELECT WHERE分组类似的值
这是通过纬度/经度值,减去或将其加入其它值/和如果该条件为大于/小于值,组
我已经通过选择尝试这样使用PHP完成使用下面的代码从我的MySQL数据库中的数据:
$summarisedData = mysql_query("SELECT P_ID,COUNT(*)
FROM road_awareness
WHERE
(
(
(
LAT - '$value[LAT]' < (0.006858/69)
AND
LAT - '$value[LAT]' > (-0.006858/69)
)
OR
(
LAT + '$value[LAT]' < (0.006858/69)
AND
LAT + '$value[LAT]' > (-0.006858/69)
)
)
AND
(
(
LON - '$value[LON]' < 0.006858/(cos($lat*M_PI/180)*69)
AND
LON - '$value[LON]' > -0.006858/(cos($lat*M_PI/180)*69)
)
OR
(
LON + $value[LON]' < 0.006858/(cos($lat*M_PI/180)*69)
AND
LON + '$value[LON]' > -0.006858/(cos($lat*M_PI/180)*69)
)
)
)
GROUP BY LAT, LON");
这段代码有很多重复的代码非常哈克,我不知道这是否是正确的。将不胜感激任何帮助。
我试图理解括号分组'')'。如果您调整查询布局以使各部分根据括号嵌套进行缩进,您会发现它对于可读性很有帮助,这对读者来说也更容易。 – halfer 2013-02-21 22:27:27
括号分组使得它非常难读,希望这是一个改进。 – JJI90 2013-02-21 23:29:51
谢谢!好多了。 – halfer 2013-02-21 23:31:29