2013-12-12 5 views
0

мой запросSql, Top N, N Последние Ряды Несколько записей

SELECT * 
FROM NumberedTable 
WHERE RowNumber <= @firstRowCount 
OR RowNumber IN (SELECT TOP (@lastRowCount) RowNumber 
       FROM NumberedTable NUI 
       ORDER BY NUI.RowNumber DESC) 

Перед этим запросом, другой запрос работает. Я устанавливаю номера строк в этом запросе.

Но результат этого запроса: верхняя строка n и последняя n строка для всех записей. Мне нужны строки FIRST N и LAST N для конкретного фильтра столбцов во всех записях.

МОЙ РЕЗУЛЬТАТ ПОИСКУ QUERY!

ВСЕ ИЗОБРАЖЕНИЯ ИЗОБРАЖЕНИЯ!

Мне нужны первые N строк и последние N строк для всех врачей! Не использовать, когда условие!

+0

... Почему вы устанавливаете 'RowNumber'? Это то, что вы планируете делать часто? У вас нет своего рода авто-gen id? –

+0

Row_Number область, где я сделал для сортировки. Не важно. Нумерованная таблица для всех записей в первом и последнем N числе записей, которые вы хотите перечислить. – bilgibilisim

+0

Что я получаю, если вы собираетесь запускать другой вид, обновите ли вы 'RowNumber'? Откуда выполняются эти запросы? Если есть вероятность, что несколько запросов собираются обновить 'RowNumber', вы получите некоторые очень странные результаты ... –

ответ

2

МОЖЕТ БЫТЬ ЭТО?

SELECT TOP N * FROM TBL ORDER BY ID ASC 

UNION ALL 

SELECT TOP N * FROM TBL ORDER BY ID DESC 
+0

+1, только одно замечание, заказ в БД не гарантируется, поэтому в первом запросе должен быть добавлен порядок предложения. –

+0

Row_Number запускает запросы. Сортировка гарантирована. Но вы не видите свой запрос моей работой. I, для поля X в таблице вы хотите перенести первые N и последние N записей. Я хочу http://imageshack.com/a/img23/8771/xjyq.jpg результат, http://imageshack.com/a/img203/4630/5cje.jpg – bilgibilisim

+0

жаль я не понимаю ваш language :) – sumit

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