我有一个表格,包含以下列: id name vote
每个名字都是唯一的,每个投票要么是空的,要么包含一个名字。
我需要一个 MySQL 语句来返回每个人有多少票,以及谁为每个人投票。
我已经为此工作了 3 个小时,我完全不知所措,所以老实说,我不在乎它的效率有多低,或者你是如何做到的。
我有一个表格,包含以下列: id name vote
每个名字都是唯一的,每个投票要么是空的,要么包含一个名字。
我需要一个 MySQL 语句来返回每个人有多少票,以及谁为每个人投票。
我已经为此工作了 3 个小时,我完全不知所措,所以老实说,我不在乎它的效率有多低,或者你是如何做到的。
SELECT name, count(*) as num_votes, GROUP_CONCAT(vote) as voted_by FROM table GROUP BY 1
多少票:
select
count(*) as numVotes,
vote
from
voteTable
where
vote IS NOT NULL
group by
vote
order by
numVotes desc
谁为每个投票:
Select
name,
vote
from
voteTable
...除非我误读了某些内容,否则应该就这么简单
select count(name), id from your_table where vote is not null group by (name)
要获得每人的票数:
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;
SELECT VOTE, COUNT(1) Number_Of_Votes,
GROUP_CONCAT(Name)
WHERE VOTE is Not NULL
GROUP BY VOTE