Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询没有检索所有字段_Mysql_Sql - Fatal编程技术网

Mysql SQL查询没有检索所有字段

Mysql SQL查询没有检索所有字段,mysql,sql,Mysql,Sql,我必须在数据库中创建表,第一个表(参与者)如下所示: 我还有另外一张叫做投票的票,我可以投票给任何参与者 因此,我的问题是,我试图获取每个参与者的所有投票,但当我执行查询时,它只检索按投票计数排序的四行,其余的没有出现在我的查询中: SELECT COUNT(DISTINCT `votes`.`id`) AS count_id, participants.name AS participant_name FROM `participants` LEFT OUTER JOIN `votes`

我必须在数据库中创建表,第一个表(参与者)如下所示:

我还有另外一张叫做投票的票,我可以投票给任何参与者

因此,我的问题是,我试图获取每个参与者的所有投票,但当我执行查询时,它只检索按投票计数排序的四行,其余的没有出现在我的查询中:

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;
检索:


我认为问题在于,您是根据
投票进行分组的。参与者id
,而不是
参与者。id
,这将您限制为有投票权的参与者,尽管有
外部连接
。请查看

,因为我从您提供的查询中了解到,您正在从投票表中选择唯一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
只要让我知道它是否有效
干杯

你确定还有更多的
participant_name
s吗?你能给我们展示一下你的参与者表的所有行(数据)吗?是的,当然,我的表中有6名参与者(可能超过6名),只有3名参与者有投票权,其他3个在0中,但为什么不至少在0中显示其他两个是我的问题。你能在没有不同的情况下尝试吗?已更新!杰森:我已经试过了,同样的结果只有4行,而应该是6行。这就是问题所在,我只是通过部分投票在小组中改变。参与者id给参与者。id谢谢@安德烈斯:你试过我的查询语句吗?:)