Как использовать ROW_NUMBER() в предложении where в базе данных DB2. Я попытался ниже, но это не сработало:ROW_NUMBER() в DB2
SELECT * FROM CSPAPP.LOCATIONS
WHERE (ROW_NUMBER() OVER(ORDER BY LOCATION)) BETWEEN 100 AND 200
Это дало ошибку: Invalid использование статистической функции или функции OLAP.
Я также попытался с followiong способами:
SELECT (ROW_NUMBER() OVER(ORDER BY LOCATION)) AS RN ,* FROM CSPAPP.LOCATIONS
WHERE RN < 200
SELECT (ROW_NUMBER() OVER(ORDER BY LOCATION)) AS RN ,LOCATION FROM CSPAPP.LOCATIONS
WHERE RN < 200
Большое спасибо за ваше решение, но оно частично служит мой prupose. Я пытаюсь SELECT * FROM ( SELECT row_number() over (упорядочить по местоположению) как rn, * FROM cspapp.locations ) WHERE rn <200 Но это не работает. Можете предложить. – Mandar
"* not working *" не является допустимым сообщением об ошибке DB2. –
oops.Rorry. Ошибка была: «Неожиданный токен * был найден следующим образом« по местоположению »в качестве rn. Ожидаемые токены могут включать:." Я не могу ввести каждый столбец, потому что в таблице около 600 столбцов. Поэтому я должен использовать * для выбора всех столбцов за один раз. –
Mandar