【发布时间】:2018-02-28 15:17:09
【问题描述】:
我有以下查询,它返回一些事件详细信息、投票数和排名。
SELECT e.guid,
e.name,
(SELECT COUNT(ev.event_vote_id)
FROM event_vote sv
WHERE ev.event_uid = s.guid) AS votes,
@curRank := @curRank + 1 AS rank
FROM event e, (SELECT @curRank := 0) r
ORDER BY votes DESC
它返回正确的详细信息,包括投票,但排名被打破。
实际结果
guid | name | votes | rank
def test2 2 2
abc test1 1 1
ghi test3 0 3
jkl test4 0 4
预期结果
guid | name | votes | rank
def test2 2 1
abc test1 1 2
ghi test3 0 3
jkl test4 0 4
由于某种原因,test1 的排名高于 test2。
我假设我需要使用 JOIN,但我不确定语法。
【问题讨论】:
标签: mysql database select join