我正在执行此查询:
SELECT voterfile_county.Name, voterfile_precienct.PREC_ID, voterfile_precienct.Name, COUNT((SELECT voterfile_voter.ID FROM voterfile_voter JOIN voterfile_household WHERE voterfile_voter.House_ID = voterfile_household.ID AND voterfile_household.Precnum = voterfile_precienct.PREC_ID)) AS Voters FROM voterfile_precienct JOIN voterfile_county WHERE voterfile_precienct.County_ID = voterfile_County.ID;
我正在尝试使其返回如下内容:
County_Name Prec_ID Prec_Name Voters(Count of # of voters in that precienct)
但是,我得到了错误:
#1242-子查询返回的行数超过1。
我尝试将COUNT语句放置在子查询中,但是收到无效的语法错误。
COUNT
您可以使用简单的分组方式在没有子查询的情况下进行尝试:
SELECT voterfile_county.Name, voterfile_precienct.PREC_ID, voterfile_precienct.Name, count(voterfile_voter.ID) FROM voterfile_county JOIN voterfile_precienct ON voterfile_precienct.County_ID = voterfile_County.ID JOIN voterfile_household ON voterfile_household.Precnum = voterfile_precienct.PREC_ID JOIN voterfile_voter ON voterfile_voter.House_ID = voterfile_household.ID GROUP BY voterfile_county.Name, voterfile_precienct.PREC_ID, voterfile_precienct.Name
使用GROUP BY时,未分组的任何列都必须具有聚合子句(fe SUM或COUNT。)因此,在这种情况下,您必须对县名称,precienct.id和precient.name进行分组。