我正在尝试根据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