【发布时间】:2015-06-17 13:43:32
【问题描述】:
我知道这是一个经常被讨论的错误,但即使在非常努力之后我也无法解决它。
我有以下查询可以正常工作
SELECT b.BID
FROM STUDENT s,
BUILDINGS b
WHERE sdo_nn(b.LOC, s.LOC, 'sdo_num_res=1', 1) = 'TRUE'
并显示每个 s 的最近邻。但我想要的是显示出现最多的前 2 个 b 的 BID,所以我将查询更改为:
SELECT b.BID, count(b.BID)
FROM STUDENT s,
BUILDINGS b
WHERE sdo_nn(b.LOC, s.LOC, 'sdo_num_res=1', 1) = 'TRUE'
GROUP BY b.BID
然后它失败并出现错误SDO_NN无法在不使用索引的情况下进行评估。
请您帮忙解决这个问题或告诉我另一种方法。
【问题讨论】:
-
为什么你有
mysql和oracle标签?您使用的是哪个 RDBMS? -
我错了,我用的是ORACLE
标签: sql oracle oracle11g oracle-spatial