在SQL查询中添加城市名称总数时,如何消除重复的城市名称?

在SQL查询中添加城市名称总数时,如何消除重复的城市名称?,sql,oracle,oracle11g,sqlplus,Sql,Oracle,Oracle11g,Sqlplus,上面是我的代码。我的目标是不让同一个城市有多个列表,而是让每个城市显示一次,如果该城市有重复的列表,则将它们的总数相加。我试过DISTINCE子句,但它只消除了重复项,没有做任何添加。我也尝试过在代码中插入SUM,但我不能完全确定它应该放在哪里。有什么建议吗?问题在于您是按邮政编码分组的,因此可能会创建重复的城市条目,数量不同 如果您只想要不同的城市,请从组中删除p.zipcode,这样您就可以开始了 祝你好运。问题在于你是按邮政编码分组的,因此可能会创建重复的城市条目,数量不同 如果您只想要不

上面是我的代码。我的目标是不让同一个城市有多个列表,而是让每个城市显示一次,如果该城市有重复的列表,则将它们的总数相加。我试过DISTINCE子句,但它只消除了重复项,没有做任何添加。我也尝试过在代码中插入SUM,但我不能完全确定它应该放在哪里。有什么建议吗?

问题在于您是按邮政编码分组的,因此可能会创建重复的城市条目,数量不同

如果您只想要不同的城市,请从组中删除p.zipcode,这样您就可以开始了


祝你好运。

问题在于你是按邮政编码分组的,因此可能会创建重复的城市条目,数量不同

如果您只想要不同的城市,请从组中删除p.zipcode,这样您就可以开始了


祝你好运。

非常感谢。我已经试着解决这个问题好几个小时了。我对SQL是完全陌生的,它有时有点让人困惑。这就解决了问题。我把我的分组改为:分组城市,COUNTpNo>=15,效果很好。再次感谢你!出于好奇,原始查询是否运行过?每当select和GROUPBY子句之间出现不匹配时,就会看到错误消息@Anon4567,既然你说你是新来的,我听说了这本书的好消息,在10分钟内自学SQL。@Anon4567-很高兴我能,祝你好运。@DanBracuk在这种情况下,你可以按不在“选择”中的额外内容分组,但“选择”中没有不在“分组依据”中的未聚合项。通过a从选项卡组中选择a、b、maxc=失败,因为b未聚合选择a、maxc从选项卡组中选择a、b、b=确定b可能会导致额外的行,但不会导致错误error@DanBracuk原始查询确实运行,但其输出具有重复的城市名称,这是因为该城市有多个邮政编码以及该邮政编码的租金属性之和。由于SELECT和GROUPBY子句之间的不匹配,我也不确定它是否会运行,但它工作得很好。斯盖德斯,你介意解释一下为什么它有效吗?我将研究那本书。非常感谢。非常感谢你。我已经试着解决这个问题好几个小时了。我对SQL是完全陌生的,它有时有点让人困惑。这就解决了问题。我把我的分组改为:分组城市,COUNTpNo>=15,效果很好。再次感谢你!出于好奇,原始查询是否运行过?每当select和GROUPBY子句之间出现不匹配时,就会看到错误消息@Anon4567,既然你说你是新来的,我听说了这本书的好消息,在10分钟内自学SQL。@Anon4567-很高兴我能,祝你好运。@DanBracuk在这种情况下,你可以按不在“选择”中的额外内容分组,但“选择”中没有不在“分组依据”中的未聚合项。通过a从选项卡组中选择a、b、maxc=失败,因为b未聚合选择a、maxc从选项卡组中选择a、b、b=确定b可能会导致额外的行,但不会导致错误error@DanBracuk原始查询确实运行,但其输出具有重复的城市名称,这是因为该城市有多个邮政编码以及该邮政编码的租金属性之和。由于SELECT和GROUPBY子句之间的不匹配,我也不确定它是否会运行,但它工作得很好。斯盖德斯,你介意解释一下为什么它有效吗?我将研究那本书。非常感谢。
SELECT city, COUNT(pNo) Total
FROM Zip z JOIN Property p ON (z.zipcode = p.zipcode)
WHERE state = 'AL' AND rent <= 500
GROUP BY city, p.zipcode HAVING COUNT(pNo) >= 15
ORDER BY Total DESC, city;