多关键词查询匹配数据库结果排序

请问如果我要设计一个表单,其中有一个属性是地理位置:是通过三级联动设计的省、市、区。如何根据这三个关键词都数据库中进行匹配查询,使与给定位置越近的记录排序越靠前。
需要多次查询匹配吗?还是先全部匹配,再依次减少末尾的关键词再去匹配?因为毕竟省重要于市、市又重要于区........但是查询匹配多次又很慢.....不知道该怎么解决?谢谢大家帮忙了,很急。。

这得需要看你的表是如何设置的了。

我的表里就是一个位置字段。

使用ztree多简单啊,你可以看看ztree。。。