我有一张表
id primary key, nominee_id, cat_id, user_id(voter id), vote_status, date
这些领域,我们在不同类别下为这个投票过程提名,因此每个被提名者都可以被限制为多个类别。好的,所有过程都进展顺利,我可以为每个类别中的每个被提名者获得总票数。但我不知道如何使用SQL从这个表中获得胜利者。 我希望获得大多数选票在每个类别中获得被提名者,但正如我所说,我可以使用
获得每个类别中每个被提名者的总票数。 SELECT nominee_id FROM voting WHERE
{CAT_ID {1}}。
是否可以通过另一个SQL语句获取此信息,否则任何人都可以建议任何其他方式来获取此信息。
下面是表格,我想找回一个在特定的cat_id中得到最大投票的Nominee_id,例如:在桌子下面的hte我想得到nominee_id 29作为cat_id 3的赢家,因为他得到了两张选票类
答案 0 :(得分:1)
此查询将为您提供每个类别的获胜者。
SELECT nid, cid, max(votes) as final_votes from (select nominee_id as nid, cat_id as cid, count(user_id) as votes from voting group by cat_id, nominee_id) nv GROUP BY cid order by final_votes desc;
答案 1 :(得分:0)
这个应该有效
SELECT nominee_id, COUNT(nominee_id) AS countNominee FROM voting WHERE
vote_status = 'yes' GROUP BY cat_id ORDER BY countNominee DESC