我有一个数据库,试图显示选举结果。 我希望它显示从“ PRES”到“ COMA”的每个候选职位的获奖者(按顺序)。
我一直在尝试使用MAX
和ORDER BY FIELD
string sql = "SELECT candidate_name, candidate_surname, candidate_position, MAX(vote_count)
FROM candidate_list
ORDER BY FIELD(candidate_position,
'PRES',
'VP',
'SEC',
'ASSE',
'TRE',
'AUD',
'BUMA',
'PRO',
'COMA')”;
候选人位置及其票数
使用子查询更新输出
SELECT t.candidate_position, t.candidate_photo, t.candidate_surname, t.candidate_name t.vote_count
FROM candidate_list t
JOIN (SELECT candidate_position, MAX(vote_count) as mxresults
FROM candidate_list
GROUP BY candidate_position) x
ON x.mxresults = t.vote_count and t.candidate_position = x.candidate_position
答案 0 :(得分:0)
如果只希望获胜者,则可以尝试使用子查询获得最高票数
select a.candidate_name
, a.candidate_surname
, a.candidate_position
, b.votes
from candidate_list
inner join (
select candidate_position
, MAX(vote_count) votes
from candidate_list
) t on t.candidate_position = a.candidate_position
and a.vote_count = t.votes
ORDER BY FIELD(a.candidate_position, 'PRES','VP', 'SEC',
'ASSE', 'TRE', 'AUD', 'BUMA', 'PRO', 'COMA')