我只想询问我是否可以根据从数据库中检索的内容创建动态编号列?
实施例
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 |
答案 0 :(得分:2)
您可以使用row_number()
功能:
select row_number() over (order by ReservationNo) as Counter
, *
from YourTable
order by
ReservationNo
答案 1 :(得分:1)
您似乎正在搜索ROW_NUMBER函数,请参阅http://msdn.microsoft.com/de-de/library/ms186734.aspx
答案 2 :(得分:1)
您似乎需要总计每个条件/查询所获取的表中的可用行数。 如果是这样,COUNT(*)OVER()将符合您的要求。
SELECT ReservationNo ,ClientNo ,添加日期 ,DateModified ,COUNT(*)OVER() 来自预订 如果需要,在哪里条件