【发布时间】:2010-09-26 03:58:15
【问题描述】:
问题:一个坐标 lat/lngs 表。两行可能具有相同的坐标。我们想要一个返回一组具有唯一坐标的行(在返回的集合内)的查询。请注意,distinct 不可用,因为我需要返回根据定义不同的 id 列。这类作品(@maxcount 是我们需要的行数,intid 是唯一的 int id 列):
select top (@maxcount) max(intid)
from Documents d
group by d.geoLng, d.geoLat
不幸的是,对于给定的坐标,它总是会返回同一行,这对我的使用来说有点遗憾。如果我们有一个 rand() 聚合,我们可以使用而不是 max()...请注意,您不能将 max() 与 newid() 创建的 guid 一起使用。
有什么想法吗? (这里还有一些背景知识,如果你有兴趣:http://www.itu.dk/~friism/blog/?p=121)
更新:完整解决方案here
【问题讨论】:
标签: sql sql-server geo