3
테이블의 행 번호를 가져 오려고합니다. 는 지금까지 내 SQL 프롬프트입니다 :테이블의 MySQL 행 번호
SELECT @i = @i + 1 AS Rank, x.Name, x.PartyName, x.ConstituencyName, x.Votes
FROM (
SELECT CONCAT(t1.Firstname, ' ', t1.Lastname) AS Name, t1.PartyName, t1.ConstituencyName, COALESCE(t2.Count, 0) AS Votes
FROM (
(SELECT db.user.PID, db.user.Firstname, db.user.Lastname, db.party.PartyName, db.constituency.ConstituencyName
FROM db.user
LEFT JOIN db.party ON db.user.PartyId = db.party.PartyID
LEFT JOIN db.constituency ON db.user.CID = db.constituency.CID
WHERE db.user.PartyId IS NOT NULL
AND db.user.CID IS NOT NULL
) t1
LEFT JOIN
(SELECT db.user.Vote, COUNT(*) AS 'Count'
FROM db.user
GROUP BY db.user.Vote
) t2
ON
t1.PID = t2.Vote
ORDER BY t2.Count DESC)
) x,
(SELECT @i:=1) r
그래서이 기본적으로 수행하는 것은 처음에는 (즉, 정보가 2 개 개의 다른 테이블에서 얻는다) T1 테이블을 만든 다음 내가 얻을 수있는 테이블 T2로 참여한다는 것입니다 모든 후보자는 총 투표권을가집니다. 그런 다음 해당 테이블을 'x'로 표시하고 행 번호를 초기화해야하는 'r'테이블과 조인했습니다 (행 번호에 대한 온라인 자습서 사용). 그러나이 SQL 프롬프트를 실행할 때 다음 결과를 얻었습니다.
Rank Name PartyName ConstituencyName Votes
0 Name1 Party1 Constituency1 700
0 Name2 Party1 Constituency1 550
모든 제안 사항을 크게 환영 할 것입니다.
OMG를 사용해야합니다. 나는 그 주석을 이전에 사용하기도했다. (그러나 숫자가 엉망이되어서 다른 기능을 사용했기 때문이다.) 그래,이 트릭을했다. 감사! – Visna
당신은'')'' –