以下是我在 SQL Server 2008 数据库中的一个表的子集。
我正在尝试输出具有最大连续值计数的Serial Number
,以及实际计数。需要注意的是,表格是按值降序排列的(这个条件很关键)。它可以按升序或降序进行分组或排序......任何更有效且更有意义的方式。 LID
LID
Last Updated Date
Serial Number
Serial Number
数据如下所示:
[Serial Number] [LID] [Last Updated Date]
--------------------------------------
123456 AAA 2012-09-24
123456 AAA 2012-09-23
123456 AAA 2012-09-22
123456 AAA 2012-09-21
123456 BBB 2012-09-20
123456 BBB 2012-09-19
123456 AAA 2012-09-18
123456 AAA 2012-09-17
123456 AAA 2012-09-16
234567 BBB 2012-09-24
234567 BBB 2012-09-23
234567 AAA 2012-09-22
表的期望输出是:
[Serial Number] [LID] [LID Count]
-------------------------------------------
123456 AAA 4
234567 BBB 2
我很茫然。我试过使用
ROW_NUMBER() OVER(PARTITION BY [Service Tag], [LID]
ORDER BY [Last Updated Date] DESC)
但所做的只是打破我的降序日期顺序,最后得到在日期范围内出现最多的计数和 LID。
提前感谢您提供的任何帮助!
此致,
副总裁