【发布时间】:2010-04-27 23:17:41
【问题描述】:
我有以下带有示例数据的表定义。在下表中,客户产品和日期是关键字段
Table One
Customer Product Date SALE
X A 01/01/2010 YES
X A 02/01/2010 YES
X A 03/01/2010 NO
X A 04/01/2010 NO
X A 05/01/2010 YES
X A 06/01/2010 NO
X A 07/01/2010 NO
X A 08/01/2010 NO
X A 09/01/2010 YES
X A 10/01/2010 YES
X A 11/01/2010 NO
X A 12/01/2010 YES
在上表中,我需要找到N个或> N个连续没有销售的记录,销售值为'NO' 例如,如果 N 为 2,则结果集将返回以下内容
Customer Product Date SALE
X A 03/01/2010 NO
X A 04/01/2010 NO
X A 06/01/2010 NO
X A 07/01/2010 NO
X A 08/01/2010 NO
有人可以帮助我进行 SQL 查询以获得所需的结果。我正在使用 SQL Server 2005。我开始使用 ROW_NUMBER() AND PARTITION 子句,但没有运气。 感谢您的帮助
【问题讨论】:
-
您是否有权更改表架构?
-
嗨,我可以访问表架构。
-
示例中的日期似乎是本月的 1 日。这是数据的实际排列方式,还是只是样本数据?如果不是,那么“连续”在这种情况下意味着什么。
-
是的,日期始终是当月的第一个日期。
标签: sql-server-2005 sql