我知道这是一个经常被讨论的错误,但即使在非常努力之后我也无法通过它。
我有以下查询可以正常工作
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 无法在不使用 index 的情况下进行评估。
你能帮我解决这个问题或告诉我另一种方法吗?