【发布时间】:2009-10-18 20:12:57
【问题描述】:
我正在尝试编写 T-sql 脚本,该脚本将为一个表找到“打开”记录
数据结构如下
Id (int PK) Ts (datetime) Art_id (int) Amount (float)
1 '2009-01-01' 1 1
2 '2009-01-05' 1 -1
3 '2009-01-10' 1 1
4 '2009-01-11' 1 -1
5 '2009-01-13' 1 1
6 '2009-01-14' 1 1
7 '2009-01-15' 2 1
8 '2009-01-17' 2 -1
9 '2009-01-18' 2 1
根据我的需要,我试图仅显示每篇文章的最后总和之后的记录,其中 0 按最后一次运行总和的零值的日期排序。因此,我试图为 Art_id=1 抽象(显示)记录 5 和 6,为 art_id=2 抽象(显示)记录 9。我正在使用 MSSQL2005,我的表有大约 30K 条记录,其中有 6000 个不同的 ART_ID 值。
【问题讨论】:
-
为什么 Art_id=1 只记录 5 和 6?为什么不也记录 3?
-
@RBarryYoung art_id 值 1 的总和为 0,日期为 '2009-01-11',对于记录 3,我们可以暗示以记录 4 结束
标签: sql sql-server sql-server-2005 tsql