我有文章表
`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] 删除。
我来说两句