これは頻繁に議論されるエラーであることは知っていますが、一生懸命試してもうまくいきません。
私は正常に動作する次のクエリを持っています
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
その後、 index を使用せずに SDO_NN を評価できないというエラーで失敗します。
この問題を解決する方法を教えてください。または別の方法を教えてください。