获得总票数形成mysql表并进行比较?

时间:2015-08-21 05:29:07

标签: php mysql sql

我有一张表

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的赢家,因为他得到了两张选票类

enter image description here

2 个答案:

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