SQL 确定多个日期范围 (SQL Server 2000)

2023-12-10

我有一个表,其中包含一个ID and a Date为一个事件。每一行代表一个日期。我正在尝试确定连续的日期范围并合并输出以显示ID,StartDate,EndDate

ID      Date
200236  2011-01-02 00:00:00.000
200236  2011-01-03 00:00:00.000
200236  2011-01-05 00:00:00.000
200236  2011-01-06 00:00:00.000
200236  2011-01-07 00:00:00.000
200236  2011-01-08 00:00:00.000
200236  2011-01-09 00:00:00.000
200236  2011-01-10 00:00:00.000
200236  2011-01-11 00:00:00.000
200236  2011-01-12 00:00:00.000
200236  2011-01-13 00:00:00.000
200236  2011-01-15 00:00:00.000
200236  2011-01-16 00:00:00.000
200236  2011-01-17 00:00:00.000

输出如下所示:

ID       StartDate    EndDate
200236   2011-01-02   2011-01-03
200236   2011-01-05   2011-01-13
200236   2011-01-15   2011-01-17

关于如何在 SQL Server 2000 中处理这个问题有什么想法吗?


SELECT ...
FROM   ...
WHERE  date_column BETWEEN '2011-01-02' AND '2011-01-15'

perhaps? Reference

或者,您可以执行子查询并使用 MAX 链接下一条记录,其中日期

SELECT id, date, (SELECT MAX(date) FROM mytable WHERE date <= mytable.date) AS nextDate
FROM   mytable

Or use:

SELECT TOP 1 date
FROM         mytable
WHERE        date <= mytable.date AND id <> mytable.id
ORDER BY     date

作为子查询,它会获取当前记录之后的下一个日期。

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

SQL 确定多个日期范围 (SQL Server 2000) 的相关文章

  • 什么时候应该在 SQL Server 中使用分号?

    在检查 Web 上的一些代码和 SQL Server Management Studio 生成的脚本时 我注意到某些语句以分号结尾 那么我应该什么时候使用它呢 来自 SQLServerCentral Comarticle http www
  • 检查 MySQL 和 PHP 中是否都存在 ids 列表

    最有效的方法是什么MySQL and PHP检查 id 列表是否全部存在 我希望函数返回结果是true if allid 存在 否则false 我刚在想 ids array 2233 5545 9478 5343 3545 do all g
  • 当在另一个表中找到匹配项时更新列

    我尝试使用表 A 中与 Passport no 匹配的值更新表 B 中的列 下面是我的sql查询 update tabel b set b country id a national id from table a a join tabel
  • 触发器定义中的 DELETE 语句问题

    我创建了一个插入 更新触发器 旨在根据插入的数据更新不同表中的信息 触发器执行 或应该执行 的最后一件事是从目标表中删除所有数据 这些数据的条件在触发器的插入部分期间可能已更改 除了最后的之外 一切似乎都在触发DELETE陈述 它正在执行D
  • SQL Server:十进制精度/小数位数产生奇怪的结果

    我正在为一个项目编写一些 SQL 我注意到 SQL Server 中一些看似奇怪的行为 涉及除以小数时的答案 以下是一些示例 说明了我所看到的行为 DECLARE Ratio Decimal 38 16 SET Ratio CAST 210
  • SQL查询获取列的精度值

    我需要一个 SQL 查询来获取某些列的精度值 我主要关心十进制类型列 并且我需要相同的精度值 我意识到在某些版本和数据库服务器供应商中可以这样做 如果您能列出其中的一些 那就太好了 对于 SQL 服务器 select precision f
  • Oracle数据库中的自增主键

    我想在 SQL Server 的列中实现标识或自动递增值 CREATE TABLE RollingStock Id NUMBER IDENTITY 1 1 Name Varchar2 80 NOT NULL 如何才能做到这一点 正如 Orb
  • SQL CASE 语句

    我有以下查询 我想将它们放入 sql CASE 语句中 这样我只有一个查询 但我不知道该怎么做 有人可以帮助我吗 IF SELECT EtlLoadId FROM ssislogs audit processcontrol WHERE Su
  • 将记录与另一个表上的最新记录连接

    我正在尝试创建一个 SQL 视图 我如何从一个表中选择最新的记录 而其他记录保持原样 我需要从所有表中选择所有记录 这工作正常 但我需要仅按日期选择最新的提案 这是我遇到的问题 这是我到目前为止所拥有的 SELECT TOP 100 PER
  • 仅选择一半记录

    我试图弄清楚如何选择 ID 为空的一半记录 我想要一半 因为我将使用该结果集来更新另一个 ID 字段 然后我将使用该 ID 字段的另一个值更新其余部分 所以本质上我想用一个数字更新一半记录 someFieldID 用另一个数字更新其余记录
  • SQL查询3个表,无法得到所需的结果

    列出所有已售出的作品以及艺术家 订购日期和发货日期 SELECT title artist order date ship date FROM items orders orderline WHERE orders order id ord
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 将表与同一个表的前一条记录连接起来

    我有一个包含历史记录的表 由主表中的多个触发器发布到那里 我想在历史表上创建一个 select 语句 其中每个记录都由其先前的记录 由相同的 LineID 和最高的 ActionDate 标识 连接 这样我就可以提取这两者之间的差异 我尝试
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 如何编辑表以启用级联删除?

    我有一个代表用户的表 当用户被删除时我得到 DELETE 语句与 REFERENCE 约束冲突 显然 CASCADE DELETE在SQL Server中并不像我想象的那么容易 需要将选项添加到表中 问题是 我不知道如何添加CASCADE
  • 使用 sql 查询选择最近 30 天

    我正在查找过去 30 天内周一 周二 周三 周四 周五 周六 周日的数量 我可以在没有实际数据库表的情况下选择最近 30 天的日期和星期几吗 就像是 SELECT everything between convert date GETDAT
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 左连接,左表中没有重复行

    请看下面的查询 tbl 目录 Content Id Content Title Content Text 10002 New case Study New case Study 10003 New case Study New case S
  • 我的数据库有错误

    创建表时如下 create table Ticket ticket id integer not null primary key AirlineName varchar not null CustomerName varchar from

随机推荐

  • PyAudio 输入溢出 -9981 - 没有解决方案工作

    请不要将此问题报告为重复 因为没有一个可用的解决方案适合我 我测试了所有这些 所以 我正在尝试在我的 RaspberryPi B 型板上运行 PyAudio 示例录音程序 这是我收到的错误 Traceback most recent cal
  • 如何从仅标头库构建静态库

    我正在尝试构建项目的静态库stb 所以我可以将它链接到另一个项目 不是用 C C 编写的 我已经创建了 CMakeLists txt 文件来使用 CMake 构建它 但是构建的静态库文件是空的 我怀疑这是因为机顶盒似乎是仅标头图书馆 我尝试
  • 将函数应用于 DataFrame 中的每个单元格,该单元格取决于 pandas 中的列名称

    如何将函数应用于 DataFrame 中取决于列名称的每个单元格 我知道pandas DataFrame applymap但它似乎不允许依赖于列名称 import numpy as np import pandas as pd np ran
  • ggplot2 中稳健的标准错误

    我想用 ggplot2 绘制一个模型 我估计了一个稳健的方差 协方差矩阵 我想在估计置信区间时使用它 我可以告诉 ggplot2 使用我的 VCOV 或者 我可以以某种方式强制 Predict lm 使用我的 VCOV 矩阵吗 一个虚拟示例
  • 查找多个字符串匹配的算法

    我正在寻找一种有效算法的建议 用于在大量文本中查找所有匹配项 要搜索的术语将包含在列表中 并且可以有 1000 多种可能性 搜索词可以是 1 个或多个单词 显然 我可以多次遍历文本并与每个搜索词进行比较 效率不太高 我考虑过对搜索词进行排序
  • Rails 3.1 中的图像 - 转向生产

    我的文章有图片 我将图像放在 app assests images 中 并将它们的位置存储在数据库的字段中 然后我可以使用以下方式显示它们 但是当我转移到生产服务器时 我的图像都没有显示 服务器正在寻找 asset blank d5dd6e
  • 将文本添加到 grid.table 图中

    我最近开始使用grid table函数从gridExtra包将表格数据转换为 png 图像文件以在网络上使用 到目前为止 我对它很满意 因为它默认产生非常漂亮的输出 有点像ggplot2对于桌子 就像那个人asked对于这个问题 我希望看到
  • PHP URL 编码保留无效的 url 字符

    我需要将 url 无效字符替换为 url 有效字符 然后再次将其转换回来 这是一个带有类似 url 的搜索页面http my site search this is a search 搜索表单 POSTS 然后用户重定向到新的 url Ph
  • 从 IIS 部署恢复 ASP.NET 项目

    我是 ASP NET Web 开发的真正新手 具有 Java 背景 一位朋友有一个在 IIS 上运行的 ASP NET 3 0 部署 他找不到在 Visual Studio 2008 中创建的原始项目文件 并请求我帮助他 是否可以从 IIS
  • 我应该如何处理 WP7 的 Bing 地图控件中图钉上的单击事件

    我要添加模板
  • MPMoviePlayerController 在后台播放音频流

    当应用程序进入后台时 我在播放音频流时遇到麻烦 我使用代码来启动流 NSURL mediaURL NSURL URLWithString http url to my stream MPMoviePlayerController mp MP
  • 可靠地重定向到 symfony2 中上次访问的页面

    我将 FosUserBundle 登录嵌入到我的主页中 我已经覆盖了 fos 的安全控制器并更改了 renderLogin 操作 我必须放置一个if使用以下条件重定向到上次访问的页面referers that was一切都很好 但我现在意识
  • EF6 不延迟加载导航属性

    我遇到了 EF6 延迟加载问题 我搜索了 StackOverflow 但我发现的其他问题不适合我的情况 我正在使用virtual关键字和我的课程是public LazyLoadingEnabled and ProxyCreationEnab
  • 计算校验和时出现问题:将 int 转换为signed int32

    我需要将以下 c 代码 计算文件的校验和 转换为 python 我已经用python编写了相应的代码 但结果与c版本不匹配 问题在于 只要发生溢出 Python 就会自动将 int 提升为 long 这会导致错误的校验和 知道如何克服这个问
  • 水晶报告中的线程被中止异常

    将报告导出为 PDF 时 我们收到 线程正在中止 异常 我们使用以下代码将报告导出为 PDF Response Buffer true Response ClearContent Response ClearHeaders Response
  • 如何正确使用AES_ENCRYPT?

    我正在尝试使用 AES 加密 AES 加密在 MySQL 中 用于用户密码 但我遇到了一堆不同的问题 这是我用来将新用户存储到数据库中的 SQL 查询 INSERT INTO user VALUES 15 John Doe 123 Fake
  • Python Mysql TypeError:“NoneType”对象不可下标

    conn MySQLdb connect host localhost user root passwd xxxx db xxxxx cursor conn cursor cursor execute SELECT FROM pin WHE
  • 如何制作一个图像按钮,当鼠标悬停在按钮WPF上时改变图像?

    我正在尝试制作一个图像按钮 当鼠标悬停在按钮上时会更改图像 我尝试了一些方法 这是我尝试的最后一件事 但它不起作用
  • 将 system.collections.bitarray 划分为每个 32 位的子位数组

    我在网上搜索过但没有得到我需要的东西 我有一个大小为 15 936 的位数组 我需要将此位数组划分为位数组列表 每个位数组有 32 位 15936 32 498 位数组列表 无法准确找到如何划分位数组 请帮忙 Thanks 第一个您想要 3
  • SQL 确定多个日期范围 (SQL Server 2000)

    我有一个表 其中包含一个ID and a Date为一个事件 每一行代表一个日期 我正在尝试确定连续的日期范围并合并输出以显示ID StartDate EndDate ID Date 200236 2011 01 02 00 00 00 0