如果之前被询问过,那么我的搜索功能就会受到诅咒。
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。
我没有想法。
答案 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