排名搜索结果

时间:2014-05-02 16:41:33

标签: mysql sql search

我有一个带有搜索功能的辅导网站。我希望导师根据几个加权标准出现在列表中,包括他们是否是订阅持有者,是否提交了个人资料照片,是否包含了很多关于他们自己的信息等等。

基本上,我有很多标准可以衡量他们的等级。

我没有用多个ORDER BY编写复杂的SQL查询(如果这是可能的话),而是考虑创建一个表(可能是临时表),根据几个标准分配数值以得出最终结果搜索排名。

我不完全确定如何解决这个问题,或者这是一个好主意,所以我想知道社区对a)这个方法的看法,以及b)在SQL中实现这个的可能方法

1 个答案:

答案 0 :(得分:0)

我会在现有的一个表中添加一个字段,或多或少表示他们的" weight"用于分类目的。然后,我将使用经常运行的数据库过程填充此列(您可以创建一个仅在已更新的记录上运行的队列,或者如果需要,只在所有记录上运行它)。这样,我可以将数据和订单拉回一列而不是多列。

此外,您可以使用View。这实际上取决于你是否想要在每次提取数据时通过程序或数据库进行数字运算(对于搜索功能而言,为了速度,我建议使用数据库程序)。