2014-12-03 2 views
0

Мне нужно получить определенную строку из DB2.Как извлечь определенную строку из db2

select istore,row_num() over() from store where row_num()=2; 

так что здесь я нужно получить 2-ю строку из магазина таблицы, но выше запроса не извлечение какой-либо data.please помочь мне.

Заранее спасибо

ответ

0

Вам нужно получить его в внешнем запросе, как

select * from 
(
select istore, 
ROW_NUMBER() OVER (PARTITION BY some_column ORDER BY some_column) AS rn 
from store 
) tab 
where rn = 2; 
0

Вы не указали, что именно ваша проблема, но есть две ошибки в выписке:

  1. Функция окна называется row_number() нет, row_num()
  2. You не может использовать оконную функцию в предложении where.

Использование row_number() без order by не имеет смысла, потому что вы завершаете со случайным порядком.

select * 
from (
    select istore, 
      row_number() over (order by something) as rn 
    from store 
) t 
where rn = 2; 

Заменить something с именем столбца, который определяет порядок ваших строк. Без какого-либо заказа нет такой вещи, как «вторая строка».