我在数据库table1中有两个表:candidates
id | name -------- 1 | John 2 | Eva 3 | Siera
表2:投票
| candidateid | -------- | 1 | | 1 | | 1 | | 1 | | 2 | | 2 | | 3 |
请有人帮我,我的问题是如何从选票表中有更多条目的候选人中选择候选人的姓名。?
jdgnovmf1#
在两个表之间做一个简单的连接。获得每个候选人的总票数 COUNT 函数,在一组候选id上。按总投票数降序排列结果,并使用 LIMIT 1 以获取得票最多的人的详细信息。请尝试以下操作:
COUNT
LIMIT 1
SELECT c.id, c.name, COUNT(*) AS total_votes FROM candidates AS c JOIN votes AS v ON v.candidateid = c.id GROUP BY c.id ORDER BY total_votes DESC LIMIT 1
mpgws1up2#
根本没有 voteId 在你的样本数据中。你似乎想要:
voteId
SELECT CandidateId, count(*) FROM votes GROUP by CandidateId;
你可以使用 JOIN 从另一个表中引入名称。
JOIN
2条答案
按热度按时间jdgnovmf1#
在两个表之间做一个简单的连接。
获得每个候选人的总票数
COUNT
函数,在一组候选id上。按总投票数降序排列结果,并使用
LIMIT 1
以获取得票最多的人的详细信息。请尝试以下操作:
mpgws1up2#
根本没有
voteId
在你的样本数据中。你似乎想要:你可以使用
JOIN
从另一个表中引入名称。