MySQL:按总和排序

用户名

我有文章表

`id`,
`article_id`,
`stage_1_point`,
`stage_2_point`

我需要根据以下十大文章

(stage_1_point+stage_2_point),

在列表中,当我查看任何文章时,我需要显示其位置。我的问题是如何在不使用order by的情况下显示其位置。

拉维

采用 ORDER BY (stage_1_point+stage_2_point) DESC

所以,就像

SELECT `id`,
`article_id`,
`stage_1_point`,
`stage_2_point`
FROM YOUR_TABLE ORDER BY (stage_1_point+stage_2_point) DESC
LIMIT 0,10

更新

如OP所述,他/她需要知道特定文章的位置。

SELECT * FROM (SELECT `id`,
`article_id`,
`stage_1_point`,
`stage_2_point`,
 @curRank := @curRank + 1 AS rank
FROM YOUR_TABLE, (SELECT @curRank := 0) r ORDER BY      
(stage_1_point+stage_2_point) DESC) TAB
WHERE `article_id`=10

上面的查询将返回article_id 10的行,该行具有一列Rank用于指示文章的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章