我正在尝试根据 sql 语句之外的算法对数据库查询的结果进行排序。
例如 - 每行都有 author_karma
和 pageviews
列。我想在获取行后通过在 php 中计算的算法对结果进行排序...
算法可能是这样的
$score = intval($author_karma) + (intval($pageviews)/100) + intval($age)
在 hacker news 这样的网站中,这是在 sql 查询中计算的吗?他们是如何做到这一点的?如果我尝试将分数存储在数据库中,我应该多久更新一次(尤其是当分数涉及时间时)?
最佳答案
你可以很容易地在查询中做到这一点
select this, that, other, (author_karmar + ( pageviews/100 ) + age ) as score from table order by score desc
关于php - 根据数据库查询之外的算法结果对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8515433/