Проблема: таблица координат lat/lng. Возможно, что две строки имеют одну и ту же координату. Нам нужен запрос, который возвращает набор строк с уникальными координатами (в пределах возвращаемого набора). Обратите внимание, что 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)
UPDATE: полное решение здесь