2011-12-15 70 views
0

我試圖根據sql語句之外的算法來排序db查詢的結果。通過db查詢之外的算法結果排序行

例如 - 每行有author_karmapageviews列。我想用PHP中計算的行被提取後一種算法來排序結果...

的算法可能是這樣的

$score = intval($author_karma) + (intval($pageviews)/100) + intval($age)

在像黑客新聞網站是這種計算中SQL查詢?他們如何做這項工作?如果我嘗試將分數存儲在數據庫中,那麼我多久更新一次(特別是當分數涉及時間時)?

+0

您可以通過一個函數在幾乎所有的數據庫命令。所以你只需要在你的ORDER BY子句中使用該函數。 – 2011-12-15 05:17:47

回答

2

您可以輕鬆地做到這一點在查詢

select this, that, other, (author_karmar + (pageviews/100) + age) as score from table order by score desc