У нас есть запрос:
SELECT ID, MIN(SQRT(POW((100-x),2)) + POW((150-y),2)) AS distance
FROM cabstands
GROUP BY ID
узнать ID ближайшей точки к точке 100, 150 в системе координат. Если я не запрашиваю идентификатор и пытаюсь получить только расстояние, запрос возвращает истинное значение. Однако, если я запрашиваю идентификатор (как в приведенном выше запросе), он возвращает все точки из-за GROUP BY. Если я не поставлю GROUP BY, это просто не позволит мне выполнить запрос, сказав:
ID недействителен в списке выбора, так как он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
Какое решение моей проблемы. Заранее спасибо.
SELECT TOP 1 ... ORDER BY distance ASC
? - person Ricardo Souza   schedule 20.05.2012