Xav*_*ver 1 sorting sql-server-2005
我使用SQL Server 2005.我有一个表格,其中FK:两列(book number, bookshelf number).PK = FK + Datetime列.而且我还有价值栏.我想创建查询,按如下方式对数据进行排序.
我有这个数据集:
BookNumber BookshelfNumber DateTime Value
0 0 12.01.2012 14:40:42 4
0 0 12.01.2012 14:45:42 5
0 0 12.01.2012 14:48:42 9
0 1 12.01.2012 14:38:42 1
0 1 12.01.2012 14:42:42 4
0 1 12.01.2012 14:48:42 1
1 1 12.01.2012 14:38:42 5
1 1 12.01.2012 14:48:42 7
1 1 12.01.2012 14:58:42 4
Run Code Online (Sandbox Code Playgroud)
查询后我想要这个结果:
BookNumber BookshelfNumber DateTime Value
0 0 12.01.2012 14:40:42 4
0 1 12.01.2012 14:38:42 1
1 1 12.01.2012 14:38:42 5
Run Code Online (Sandbox Code Playgroud)
您可以使用ROW_NUMBER函数向数据集添加数字
Booknumber & BookshelfNumber(PARTITION BY)中的每次更改重新开始编号datetime(ORDER BY)编号SQL语句
SELECT *
FROM (
SELECT BookNumber
, BookShelfNumber
, DateTime
, Value
, rn = ROW_NUMBER() OVER (PARITION BY BookNumber, BookshelNumber ORDER BY DateTime)
FROM Books
) b
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |