次の列を持つテーブルがあります。idnamevote
それぞれの名前は一意であり、各投票はnullであるか、名前が含まれています。
各人の投票数と各人に投票した人を返すために、MySQLステートメントが必要です。
私はこれに3時間取り組んできましたが、完全に途方に暮れているので、正直言って、それがどれほど非効率的であるか、またはあなたがそれをどのように行うかは気にしません。
次の列を持つテーブルがあります。idnamevote
それぞれの名前は一意であり、各投票はnullであるか、名前が含まれています。
各人の投票数と各人に投票した人を返すために、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)
1人あたりの投票数を取得するには:
select vote,
count(*) as nbr_of_votes
from table
where vote is not null
group by vote
order by nbr_of_votes desc;
誰が誰に投票したかを取得するには、基本的にテーブル全体を選択し、nullを除外する必要があります
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