我的表中有一个项目列表,包括字段votes_up
和votes_down
其他项目。现在我想根据流行度来订购商品,这是这两个领域的功能。问题是流行度算法取决于 的值votes_up
。
例如,如果votes_up
大于 5:
popularity= (votes_up/votes_down)*20
如果 votes_up 大于 50:
popularity= (votes_up/votes_down)*15
(我只是用这个来解释......实际的算法是不同的)。
现在我该怎么做,因为通常我会在我的查询中做这样的事情:
ORDER BY (votes_up/votes_down)*20)
但我现在不能这样做,因为之后发生ORDER BY
的事情取决于votes_up
. 我能做到这一点的唯一方法是:
if(votes_up >5){
p = (votes_up/votes_down)*20;
} else if(votes_up > 50){
p = (votes_up/votes_down)*15;
}
然后在我的查询中我可以拥有ORDER BY p
.
现在当然这不是有效的 PHP,但我只想解释我的问题。我希望你明白我想要达到的目标。