
您可以通过lat和long的ROW_NUMBER函数为此使用CTE,然后对它使用rand()。就像是:
WITH cte AS( SELECt intID, ROW_NUMBER() OVER ( PARTITION BY geoLat, geoLng ORDER BY NEWID() ) AS row_num, COUNT(intID) OVER (PARTITION BY geoLat, geoLng) AS TotalCount FROM dbo.documents)SELECt TOP (@maxcount) intID, RAND(intID)FROM cteWHERe row_num = 1 + FLOOR(RAND() * TotalCount)
这将始终返回第一组lat和lngs,但我无法将顺序随机化。也许有人可以继续使用这种方法。但是,它将在匹配的经纬度组合中为您提供随机行。
如果我以后有更多时间,我将尽力解决最后的障碍。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)