如何使用SQL查找表中N个连续记录

2023-11-26

我有以下带有示例数据的表定义。在下表中,客户产品和日期是关键字段

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 子句,但没有运气。 谢谢你的帮助


您需要将您的表与其自身进行匹配,就好像有 2 个表一样。因此,您使用两个别名 o1 和 o2 来引用您的表:

SELECT DISTINCT o1.customer, o1.product, o1.datum, o1.sale
  FROM one o1, one o2
  WHERE (o1.datum = o2.datum-1 OR o1.datum = o2.datum +1)
  AND o1.sale = 'NO' 
  AND o2.sale = 'NO'; 
 customer | product |   datum    | sale 
----------+---------+------------+------
 X        | A       | 2010-01-03 | NO
 X        | A       | 2010-01-04 | NO
 X        | A       | 2010-01-06 | NO
 X        | A       | 2010-01-07 | NO
 X        | A       | 2010-01-08 | NO

请注意,我在 postgresql 数据库上执行了查询 - 也许 ms-sql-server 上的语法不同,也许在别名“FROM one AS o1”处不同,也许您不能以这种方式添加/减去。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用SQL查找表中N个连续记录 的相关文章

  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • ORA-12728: 正则表达式中的范围无效

    我想检查表中是否插入了有效的电话号码 所以我的触发代码在这里 select start index into mob index from gmarg mobile operators where START INDEX substr ne
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 在 SQL Server 2005 中,len() 和 datalength() 有什么区别?

    SQL Server 2005 中的 len 和 datalength 有什么区别 DATALEN 将返回用于存储值的字节数 http msdn microsoft com en us library ms173486 SQL 90 asp
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • SQL Server 中离线索引重建和在线索引重建有什么区别?

    重建索引时 有一个选项ONLINE OFF and ONLINE ON 我知道当ONLINE模式打开时 它会复制索引 切换新查询以利用它 然后重建原始索引 使用版本控制跟踪两者的更改 如果我错了 请纠正我 但是 SQL 在离线模式下会做什么
  • 具有不同组合的产品和产品包的数据库模型

    您将如何设计数据库来实现此功能 考虑一个场景 我们想要创建一个产品关系 封装 假设我们创建一个产品表 prod id prod name prod fee 1 prepaid A 19 usd 2 prepaid B 29 usd 3 pr
  • 需要在 SQL Server 中透视字符串值

    我有一个包含值的表 描述为 Occupation String Name String Developer A Developer B Designer X Coder Y Coder Z 我需要数据透视格式的值 Designer Deve
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • 重用 t-sql 游标的起始位置?

    我正在开发一个在临时表上使用游标的存储过程 我已经阅读了一些关于为什么不需要游标的内容 但在这种情况下我相信我仍然需要使用游标 在我的过程中 我需要遍历表的行两次 声明游标后 已经单步执行临时表并关闭游标 重新打开时游标的位置是否仍保留在表
  • 为什么 ISNUMERIC('.') 返回 1?

    最近我在 SQL Server 中使用 ISNUMERIC 时遇到了一个问题 导致找到了这段代码 SELECT ISNUMERIC 这会返回 1 如 true 所示 难道不应该像 false 一样返回 0 吗 See Numeric 损坏了

随机推荐

  • 如何使用javascript高效记录用户输入内容?

    我希望能够记录然后回放文本区域中发生的任何事情 我遇到过一些解决方案 但它们并不可靠 例如通过 AJAX 发送每次击键 在这种情况下 我的数据库中最终将有数百万行 我想到的想法是将击键记录到客户端的变量中 用操作更新该变量 但跟踪每次击键之
  • 通过 NTLM 模拟用户

    我有一个内部应用程序 有两个安全级别 用于面向客户端的应用程序的 FormsAuthentication 和用于管理界面的 NTLM 集成身份验证 我可以通过使用 FormsAuthentication 类的方法创建正确的 ASPXAUTH
  • 如何在 WooCommerce 评论表单上添加“评论标题”字段?

    I want to add a custom field to my reviews form on WooCommerce just like this image And then how to get the output of th
  • Retrofit 2.0中如何使用拦截器添加Headers?

    我们的团队决定采用改造2 0我正在对此进行一些初步研究 我是这个图书馆的新手 我想知道如何使用interceptor通过添加自定义标头改造2 0在我们的 Android 应用程序中 有许多教程关于使用interceptor在Retrofit
  • 将自定义属性包装器与@Published相结合

    我希望将自定义属性包装器应用于已包装的变量 Published 像这样嵌套它们 A Custom Published var myVar or B Published Custom var myVar 注意包装纸的应用顺序 如果是 A 我收
  • 服务器(PC)上的实时视频流来自机器人通过 UDP 发送的图像

    唔 我发现这似乎很有希望 http sourceforge net projects mjpg streamer 好的 我将尝试清楚 详细地解释我想做的事情 我有一个带有摄像头和 wifi 棒的小型人形机器人 这是机器人 机器人的 WiFi
  • 至少 8 + 大小写 + 数字或其他非字母的正则表达式

    至少包含 8 个字符 包含大写和小写字母 包含数字或其他非字母字符 上述标准的正则表达式可能是什么 我正在创建一个更强的密码检查 我正在使用c 这应该可以做到 a z A Z a zA Z 8 看这里 rubular 解释 a z look
  • 带有输入和输出的 std::fstream 应该如何工作?

    我刚刚开始想知道 实际上是怎样的std fstream两者都打开std ios in and std ios out实际上应该工作吗 它应该做什么 向 例如 空文件写入一些内容 然后读取 什么 只是写值吗 文件 指针 光标 在哪里 也许答案
  • 打印组合字符串和数字

    要在Python中打印字符串和数字 除了执行以下操作之外还有其他方法吗 first 10 second 20 print First number is first d and second number is second d first
  • Ember 组件中的共享状态

    我试图构建一个简单的列表 其中附加小部件作为 Emberjs 组件 以下是我使用的代码 HTML
  • 如何使用 async/await 去抖?

    我有一个输入框 用户停止输入后 我想执行 HTTP 请求并等待结果 这是一个jsbin 由于 jsbin 上不允许网络请求 所以我使用了setTimeout 反而 var log console log bind console var d
  • PowerShell 删除项目不等待

    如果有这段代码 if Test Path Path OUT Remove Item OUT Recurse New Item ItemType directory Path OUT 有时它可以工作 但有时 New Item 行会产生一个权限
  • 通配符子域和静态子域的虚拟主机

    我有一个奇怪的情况 我想要 URLapp1 example com example com and example com全部使用不同的虚拟主机 这就是我所拥有的 不包括example com因为它只会让事情变得更加混乱
  • JNI:无法从回调中的本机方法找到 java 类

    我对 JNI 还很陌生 并且正在努力解决这个问题 我有一个由网络库 alljoyn 调用的 C 回调 在这个回调中 我需要调用Java代码 由于此回调位于另一个线程中 因此我使用以下代码来获取 JNIEnv 指针 jvm是全局指针 JNIE
  • HTML5 canvas ctx.fillText 不会换行吗?

    如果文本包含 n 我似乎无法将文本添加到画布 我的意思是 换行符不显示 工作 ctxPaint fillText s ome n n br thing x y 上面的代码将会绘制 s ome n br thing 在一条线上 这是 fill
  • iPhone:以编程方式使用前置摄像头拍照

    我想通过我的 iPhone 应用程序中的前置摄像头以编程方式拍照 我不希望用户选择图像选择器或与图像选择器进行任何交互 只想拍摄图像并将其保存在文档中 这可能吗 我从你的问题中了解到 AV Foundation 就是你所需要的 看看苹果的这
  • MySQL - 从字符串中搜索确切的单词

    我想从字符串中搜索确切的单词 例如 id Description 1 This is nice pen looking good 2 This is nice pendrive looking good 搜索字符串 pen 我当前的查询 S
  • 是否可以设置更高的轴标签 z 索引?

    在以下代码中 轴的标签隐藏在图形线后面 import numpy as np import matplotlib pyplot as plt X np linspace np pi np pi 256 endpoint True C S n
  • Linq int 到 string

    如何将 和 int 转换为字符串 以下均无效 from s in ctx Services where s Code ToString StartsWith 1 select s from s in ctx Services where C
  • 如何使用SQL查找表中N个连续记录

    我有以下带有示例数据的表定义 在下表中 客户产品和日期是关键字段 Table One Customer Product Date SALE X A 01 01 2010 YES X A 02 01 2010 YES X A 03 01 20