0
我很努力与MySQL查询。请帮帮我。 这是我的查询,我得到正确的结果,但我需要在MySQL中修改结果。如何添加排名,基于在mysql中的点
SELECT bu.username,
bg.id as goal_id,
br.id as reason_id,
(SELECT COUNT(test_reason_id) FROM test_rank WHERE test_reason_id = br.id) as point
FROM
test_goal AS bg INNER JOIN test_reason AS br ON
br.user_id=bg.user_id INNER JOIN test_user AS bu ON
br.user_id=bu.id
WHERE
bg.id = br.test_goal_id
GROUP BY
bg.id
ORDER BY
point DESC
于此项目表格-1 我实际的表看起来像这样当我使用ORDER BY点DESC那么它看起来像表2
username goal_id reason_id point
khan 8 3 2
john 6 9 5
yoyo 5 21 4
smith 11 6 5
于此项目表格-2 我的结果看起来像这样
username goal_id reason_id point
john 6 9 5
smith 11 6 5
yoyo 5 21 4
khan 8 3 2
但我想要我的结果集像这样
username goal_id reason_id point rank
john 6 9 5 1
smith 11 6 5 2
yoyo 5 21 4 3
khan 8 3 2 4
这是可能的吗?请任何人都可以帮助我。对我来说太难了。
+1:d – 2012-07-13 08:08:52
:(排名不能正常工作,我需要ORDER BY DESC点和等级ASC – yogi46 2012-07-13 08:47:52
你可以在[sqlfiddle](http://sqlfiddle.com)上提供一个例子吗? – 2012-07-13 08:50:23