简体   繁体   中英

Getting Total Votes Form mysql table and Compare it?

I have a table with

id primary key,     nominee_id,     cat_id,     user_id(voter id),  vote_status,    date

these fields, We have nominees for this voting process under different categories, so each nominees can be nimnated to more than one category. ok, all process is going well, I can take total count of votes got for each nominees in each category. but I dont have any idea How to get the winner from this table using SQL. I want to get Most votes gained Nominees in each category, however as I said I can get total votes got for each nominees in each category using

SELECT nominee_id FROM voting WHERE cat_id = $cid .

Is it possible get this through another SQL statement, or else can anyone suggest any other way to get this.

below is the table, I want to get back the Nominee_id who got max Vote in a particulat cat_id, eg: in hte below table I want to get nominee_id 29 as a winner in cat_id 3, because he got two votes in that category

在此处输入图片说明

该查询将为您提供各个类别的优胜者。

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;


This one should work

SELECT nominee_id, COUNT(nominee_id) AS countNominee FROM voting WHERE 
vote_status = 'yes' GROUP BY cat_id ORDER BY countNominee DESC

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM