Подсчет голосов в MySQL - PullRequest
       12

Подсчет голосов в MySQL

1 голос
/ 10 декабря 2011

У меня есть таблица со следующими столбцами: идентификатор имени, голосование

Каждое имя уникально, и каждый голос либо равен нулю, либо содержит имя.

Мне нужен оператор MySQL дляверните, сколько голосов имеет каждый человек, и кто голосовал за каждого.

Я работаю над этим в течение 3 часов, и я в полном недоумении, поэтому, честно говоря, мне все равно, насколько неэффективноили как ты это делаешь.

Ответы [ 5 ]

3 голосов
/ 10 декабря 2011

SELECT name, count(*) as num_votes, GROUP_CONCAT(vote) as voted_by FROM table GROUP BY 1

2 голосов
/ 10 декабря 2011
select count(name), id from your_table where vote is not null group by (name) 
2 голосов
/ 10 декабря 2011

Сколько голосов:

select 
 count(*) as numVotes, 
 vote
from
 voteTable
where
 vote IS NOT NULL
group by 
 vote
order by
 numVotes desc

Кто голосовал за каждого:

Select
 name,
 vote
from
 voteTable

... если я не читаю что-то, это должно быть так просто

1 голос
/ 10 декабря 2011

Чтобы получить количество голосов на человека:

select vote, 
       count(*) as nbr_of_votes 
  from table 
 where vote is not null 
 group by vote 
 order by nbr_of_votes desc;

Чтобы узнать, кто за кого проголосовал, вам нужно выбрать всю таблицу, оставив пустыми

select vote, 
       name 
  from table
 where vote is not null 
 order by vote;
0 голосов
/ 10 декабря 2011
SELECT VOTE, COUNT(1) Number_Of_Votes,
GROUP_CONCAT(Name)
WHERE VOTE is Not NULL
GROUP BY VOTE
...