如何显示选举的获胜者(根据其职位)?

时间:2019-04-17 13:20:01

标签: c# mysql

我有一个数据库,试图显示选举结果。 我希望它显示从“ PRES”到“ COMA”的每个候选职位的获奖者(按顺序)。

我一直在尝试使用MAXORDER 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')”;
  

候选人位置及其票数

HERE IS THE CANDIDATE_LIST

  

使用子查询更新输出

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

output using subquery code above

1 个答案:

答案 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')