我有一个表格投票包含数据
Votes Designation CandidateID 4 President Person1 3 President Person2 5 Secretary Person5 1 Vice-Present Person6
我想仅根据指定查询获胜者候选人。 喜欢
4 President Person1 5 Secretary Person2 1 Vice_President Person6
答案 0 :(得分:2)
这适用于row_number()
或dense_rank()
:
select v.*
from (select v.*,
dense_rank() over (partition by designation order by votes desc) as seqnum
from votes v
) v
where seqnum = 1;
请注意,这使用dense_rank()
。如果有平局,那么所有"获胜者"被包含在内。您可以使用row_number()
选择任意获胜者。
<强> See working SQL Fiddle demo 强>