В алгоритме пользователи проходит запрос, например:Использование ROWNUM в подзапросов
SELECT o_orderdate, o_orderpriority FROM h_orders WHERE rownum <= 5
Запрос возвращает следующее:
1996-01-02 5-LOW
1996-12-01 1-URGENT
1993-10-14 5-LOW
1995-10-11 5-LOW
1994-07-30 5-LOW
Алгоритм нуждается счетчик для выбранных атрибутов (o_orderdate, o_orderpriority
в приведенном выше примере), и поэтому он переписывает запрос по адресу:
SELECT o_orderdate, count(o_orderdate) FROM
(SELECT o_orderdate, o_orderpriority FROM h_orders WHERE rownum <= 5)
GROUP BY o_orderdate
Этот q uery возвращает следующее:
1992-01-01 5
Однако предполагаемый результат:
1996-12-01 1
1995-10-11 1
1994-07-30 1
1996-01-02 1
1993-10-14 1
Любая идея, как я могу переписать этап синтаксического анализа или как пользователь может передать синтаксически другой запрос на получение вышеуказанных результатов?
На самом деле, ваш запрос возвращает свой желаемый результат из предоставленных данных - см http://sqlfiddle.com/#!4/93986/1. Некоторая ошибка, конечно? –
На столе был указатель, который вызвал это поведение. Поскольку индекс находился в обоих столбцах, парсер базы данных выбирал кортежи в порядке индекса. Теперь, после того как я сбросил индекс, пример работает так, как вы показали. – DrRobotto