2015-09-02 3 views
2

Я пытаюсь выполнить запрос в таблице в базе данных H2 с предложением ROW_NUMBER. Вот мой запрос:ROW_NUMBER() OVER() с заказом в H2

SELECT ROW_NUMBER() OVER (order by data), name FROM students 

Но я получаю сообщение об ошибке в консоли H2:

Синтаксическая ошибка в SQL заявление «SELECT ROW_NUMBER() OVER (порядка [*] по данным), название от студентов «; ожидаемый ")";

Я заметил, что он работает только в том случае, если предложение OVER пустое, как OVER();

Любые идеи?

+0

Это не поддерживается в H2 –

ответ

12

Это не поддерживается в базе данных H2. Вам необходимо будет использовать:

select rownum(), name 
from students 
order by data 
+0

Я вижу, что вы являетесь создателем H2. Почему вы создали новую базу данных, когда есть хорошие исходные и бесплатные материалы, такие как MySQL? – Pacerier

+7

Существует много причин, например, MySQL не написан на Java, и он более сложный и больший. –

+0

Хм, но в чем же преимущество написания на Java? (MySQL может работать на Windows, Unix и на всех основных ОС.) Обычно люди не цитируют «написанные на Java» как преимущество, потому что привязка к JVM является ** недостатком ** не преимуществом .... – Pacerier

Смежные вопросы