php - 根据数据库查询之外的算法结果对行进行排序

标签 php mysql algorithm sql-order-by

我正在尝试根据 sql 语句之外的算法对数据库查询的结果进行排序。

例如 - 每行都有 author_karmapageviews 列。我想在获取行后通过在 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/

相关文章:

php - 如何使用带有 'e' 修饰符的 preg_replace() 传递参数?

php - FILTER_VALIDATE_EMAIL 的一致性如何?

mysql - 如何将 Spark DataFrame 与 MySQL 结合使用

arrays - 使用给定集合中的值计算获得 N 的所有可能性

javascript - 动态网站的分页标题

php - 尝试使用 PDO 在 PHP 中搜索 MySQL 数据库

mysql - mysql 范围内缺少缺失值

mysql - Docker:MySQL 拒绝主机 IP,除非我手动重新启动它

Java:来自流源的top-n元素

algorithm - 最大流量和最小切割。我做对了吗?