我有文章表MySQL的:爲了通過總和
`id`,
`article_id`,
`stage_1_point`,
`stage_2_point`
我需要前10篇基於
(stage_1_point+stage_2_point),
列表
,當我查看任何文章中,我必須表現出自己的位置。 我的問題是如何顯示它的位置,而不使用順序。
我有文章表MySQL的:爲了通過總和
`id`,
`article_id`,
`stage_1_point`,
`stage_2_point`
我需要前10篇基於
(stage_1_point+stage_2_point),
列表
,當我查看任何文章中,我必須表現出自己的位置。 我的問題是如何顯示它的位置,而不使用順序。
使用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
UPDATE
由於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
它告訴物品的位置。
你可以試試下面的查詢如下
Select
stage_1_point+stage_2_point as added_point,
columnsid,
article_id,
stage_1_point,
stage_2_point
FROM tablename
ORDER BY 1 desc
Limit 0,10
這將根據列一個結果數據進行排序,並只取前10個結果。
沒有秩序 –
您可以使用限制功能。 –
我不能使用限制我必須顯示所有文章 – user3311313
爲什麼不'ORDER BY'? –