如何为每个列的速率命令mysql

时间:2014-03-22 08:54:56

标签: php mysql

我有一张名为"文章"并希望按顺序显示每列的评级 例如,在此表中有2列名称"喜欢"和#34;意见" 我想"喜欢"乘以X2和"视图"乘以X1 所以如果一篇文章有​​14个评论和15条评论的评论,那么这篇文章将是:

14 X 2 = 28
15 X 1 = 15
Total : 43

我希望按总订单显示所有文章:) 问候

3 个答案:

答案 0 :(得分:1)

您可以尝试这样

select * , (Likes * 2 + Views * 1) as count from tablename order by count ASC

Demo

答案 1 :(得分:1)

收集额外列中的计算并按此列排序,如:

SELECT *, ((views)*1 + (likes)*2) AS total_count FROM Articles
ORDER BY total_count DESC

但这不会很快,因为您无法在此列上放置索引...请考虑使用缓存列,您可以在其上放置索引。

答案 2 :(得分:1)

使用ORDER BY子句计算评级,如下所示:

SELECT * 
FROM Articles
ORDER BY likes*2+views DESC

工作小提琴:http://sqlfiddle.com/#!2/927491/1