«ВЫБРАТЬ ТОП 10» ИСПОЛЬЗУЯ SQLDBX - PullRequest
0 голосов
/ 10 сентября 2018

Я попытался запустить следующую команду в SQLDBX:

SELECT TOP 10 * FROM TABLE

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

Sql014N Неожиданный токен «10» был обнаружен после «SELECT TOP». Зеркальные токены могут включать: «.» SQLSTATE = 42601

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Не лучше ответа VHU, но если вы хотите, чтобы первые 10 строк были упорядочены путем записи ранга (детерминированного метода) в вашу таблицу, вы можете сделать это:

SELECT * FROM YOURTABLE F1
ORDER BY RRN(f1)
FETCH FIRST 10 ROWS ONLY
0 голосов
/ 10 сентября 2018

Ваше сообщение об ошибке выглядит так, как будто оно от DB2, поэтому я бы попробовал следующее:

SELECT * FROM TABLE FETCH FIRST 10 ROWS ONLY

Обновление: как правильно заметил Ранадип Датта в комментариях, DB2 FETCH FIRST n ROWS ONLY не является детерминированной, если не объединена с детерминированной ORDER BY. Это, как и следовало ожидать, для многих других СУБД (например, MS SQL Server, MySQL)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...