【发布时间】:2011-01-10 23:41:58
【问题描述】:
我正在使用此功能获取 30 英里内的事件,它与书呆子晚餐几乎相同。但是我怎样才能通过“最近的”来订购它们..?
ALTER FUNCTION [dbo].[NearestEvents]
(
@lat real,
@long real
)
RETURNS TABLE
AS
RETURN
SELECT Events.ID
FROM Events
WHERE dbo.DistanceBetween(@lat, @long, Latitude, Longitude) <30
【问题讨论】:
-
如果您想要相同的结果但按壁橱排序,您可能需要将数据存储到包含列 DistanceBetween 的临时表中,然后选择在 DistanceBetween 列上排序的结果。这是一些额外的工作,因为它们之间的距离是动态计算的。
标签: sql sql-server nerddinner