sql中的邮政编码和位置金额

时间:2018-06-04 13:24:55

标签: sql

如果之前被询问过,那么我的搜索功能就会受到诅咒。

select postkode, gemeente, count(postkode) as total 
from leveradressen 
where land=1 
group by postkode 
order by postkode asc

postkode是一个邮政编码 gemeente是镇名

我试着运行这个但是我得到了

Msg 8120, Level 16, State 1, Line 4
Column 'leveradressen.Gemeente' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

......不知道如何让它发挥作用。我知道为什么他这样做。但这是一项任务,看看我是否可以继续这项工作,而且我完全失败了。

正在发生的事情是他认为有太多的地名可供选择。但每个地名都匹配每个邮政编码。永远不会有任何偏差。例如,2000年将永远是安特卫普。

并且我不能通过添加'group by'来修复它,因为它在那里并且我不能使用聚合函数,因为postkode和plaatsnaam都是nvarchar。

我没有想法。

2 个答案:

答案 0 :(得分:1)

您也应该按gemeente分组 所以:

select postkode, gemeente, count(postkode) as total 
from leveradressen 
where land=1 
group by postkode, gemeente
order by postkode asc

不确定你的意思我无法通过添加'group by'来修复它,因为那里有

答案 1 :(得分:0)

您可以使用:

select postkode, MIN(gemeente) AS gemeente, count(postkode) as total 
                 -- here goes agg function
from leveradressen 
where land=1 
group by postkode 
order by postkode asc