Problème : un tableau de coordonnées lat/lng. Deux lignes peuvent potentiellement avoir la même coordonnée. Nous voulons une requête qui renvoie un ensemble de lignes avec des coordonnées uniques (au sein de l'ensemble retourné). Notez que distinct
n'est pas utilisable car j'ai besoin de renvoyer la colonne id qui est, par définition, distincte. Cela fonctionne un peu (@maxcount
est le nombre de lignes dont nous avons besoin, intid
est une colonne d'identifiant int unique) :
select top (@maxcount) max(intid)
from Documents d
group by d.geoLng, d.geoLat
Cela renverra toujours la même ligne pour une coordonnée donnée malheureusement, ce qui est un peu ennuyeux pour mon utilisation. Si seulement nous avions une agrégation rand()
que nous pourrions utiliser à la place de max()
... Notez que vous ne pouvez pas utiliser max()
avec des ids guids créés par newid()
.
Des idées ? (il y a plus de contexte ici, si cela vous intéresse : http://www.itu.dk/~friism/blog/?p=121)
MISE À JOUR : Solution complète ici