2013-02-16 3 views
-2

Я просто хочу спросить, может ли я создать столбец динамической нумерации на основе того, что я буду извлекать из базы данных?Подсчет полученных записей из SQL Server

Ex.

Table Reservations 
|ReservationNo----ClientNo------DateAdded----DateModified| 
|1    | 1  | 01-01-01 | 01-01-01 | 
|2    | 2  | 01-01-01 | 01-01-01 | 
|3    | 2  | 01-01-01 | 01-01-01 | 
|4    | 2  | 01-01-01 | 01-01-01 | 
|5    | 1  | 01-01-01 | 01-01-01 | 
|6    | 3  | 01-01-01 | 01-01-01 |    
|7    | 3  | 01-01-01 | 01-01-01 | 
|8    | 2  | 01-01-01 | 01-01-01 | 
|9    | 1  | 01-01-01 | 01-01-01 | 
|10   | 1  | 01-01-01 | 01-01-01 | 

Когда я исполняю ниже заявление ...

SELECT * FROM Table WHERE ClientNo = '1' 

Результат:

**Counter**-----ReservationNo----Client--------DateAdded----DateModified| 
|1  |  1   | 1  | 01-01-01 | 01-01-01 | 
|2  |  5   | 1  | 01-01-01 | 01-01-01 | 
|3  |  9   | 1  | 01-01-01 | 01-01-01 | 
|4  |  10   | 1  | 01-01-01 | 01-01-01 | 

ответ

2

Вы можете использовать функцию row_number():

select row_number() over (order by ReservationNo) as Counter 
,  * 
from YourTable 
order by 
     ReservationNo 
+0

Спасибо! Это то, что мне нужно! – TheOxblood

1

Кажется, вам нужно общее количество доступных строк в таблице, которую вы извлекаете с каждым условием/запросом. Если это так, COUNT (*) OVER() будет соответствовать вашим требованиям.

ВЫБОР ReservationNo , ClientNo , DateAdded , DateModified , COUNT (*) OVER() от оговорок WHERE условие при необходимости