问题:坐标纬度/经度表。两行可能具有相同的坐标。我们想要一个返回一组具有唯一坐标的行(在返回的集合内)的查询。请注意,这distinct
是不可用的,因为我需要返回根据定义不同的 id 列。这种作品(@maxcount
是我们需要的行数,intid
是唯一的 int id 列):
select top (@maxcount) max(intid)
from Documents d
group by d.geoLng, d.geoLat
不幸的是,对于给定的坐标,它总是会返回同一行,这对我的使用来说有点遗憾。如果我们有一个rand()
可以使用的聚合来代替max()
......请注意,您不能使用max()
由newid()
.
有任何想法吗?(这里有更多背景知识,如果您有兴趣:http ://www.itu.dk/~friism/blog/?p=121 )
更新:这里的完整解决方案