SQL查询未检索所有字段

时间:2013-06-21 23:11:23

标签: mysql sql

我必须在我的数据库中使用表格,第一个(参与者)看起来就像那样:

enter image description here

我还有另一个投票,我可以投票给任何参与者。

enter image description here

所以我的问题是我试图获得每个参与者的所有投票,但是当我执行我的查询时,它只检索按COUNT个投票排序的四行,而剩下的其他没有出现在我的查询中:< / p>

SELECT COUNT(DISTINCT `votes`.`id`) AS count_id, participants.name 
AS participant_name FROM `participants` LEFT OUTER JOIN `votes` ON
`votes`.`participant_id` = `participants`.`id` GROUP BY votes.participant_id ORDER BY
votes.participant_id DESC;

检索:

enter image description here

2 个答案:

答案 0 :(得分:2)

我认为问题在于您按votes.participant_id分组,而不是participants.id,这限制了参与者的投票,outer join尽管如此。查看http://sqlfiddle.com/#!2/c5d3d/5/0

答案 1 :(得分:0)

正如我从您提供的查询中所理解的那样,您从投票表中选择了唯一的ID,我认为您的列ID不是标识。但如果这是一个身份会更好吗?如果有的话,这是我的答案。用这些替换你的选择。

Select count (votes.participant.id) as count_id ,participants.name as participant_name 
from participants join votes
on participants.id = vote.participant_id
group by participants.name
order by count_id

请告诉我它是否有效 欢呼声