首页 > 数据库 >SQL Server计算行之间的时间差

SQL Server计算行之间的时间差

时间:2023-08-23 21:44:20浏览次数:35  
标签:02 ModifyDate Server 时间差 ModifiedBy 2018 TaskID SQL 55444

有如下的表格:

ModifyDate| ModifiedBy | TaskID |
2018-02-05| Bob            | 55444  |
2018-02-06| Lily             | 55444  |
2018-02-08| Sarah         | 55444  |

 

对于每一行,我需要计算每个TaskID在Modifydate之间的时间差(以天为单位)。

例如,我的输出应如下所示:

 

ModifyDate| ModifiedBy | TaskID | Time
2018-02-05| Bob            | 55444  |  1
2018-02-06| Lily             | 55444  |  2
2018-02-08| Sarah         | 55444  | NULL

 

 

SELECT ModifyDate, ModifiedBy, TaskID,
       DATEDIFF(DAY, ModifyDate,
                     LEAD(ModifyDate) OVER (PARTITION BY TaskID  
                                            ORDER BY ModifyDate))
FROM mytable

标签:02,ModifyDate,Server,时间差,ModifiedBy,2018,TaskID,SQL,55444
From: https://www.cnblogs.com/threestone/p/17652846.html

相关文章

  • SQL注入之延时注入
    延时注入是什么?延时注入就是利用sleep()函数通过if语句判断所写的语句真假,如果为真返回我们想要的东西(例如:数据库的长度,数据库的名字等)如果我们写的东西不符合则会利用sleep()函数让服务器休眠。固定的理解sleep(x)函数的意义是关键,就是个自行设定如果判断成功那么就会延迟x秒延时......
  • SQL注入之万能用户名
    分析代码在安装的cms数据库目录C:\phpStudy\WWW\cms\admin下找到login.action.php文件,查看第20行,发现如下php代码:$user_row=$db->getOneRow("selectuseridfromcms_userswhereusername='".$username."'andpassword='".md5($password)."&#......
  • PLSQL导出awr报告
    begindbms_workload_repository.create_snapshot();end;1、准备查询dbidselectdbidfromv$database;查询instance_numberselectinstance_numberfromv$instance;查询历史快照selectSNAP_ID,dbid,SNAP_LEVEL,BEGIN_INTERVAL_TIMEfromdba_hist_snapshotorderbySN......
  • 去重sql
    查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select*from表whereIdin(selectIdfrom表groupbyIdhavingcount(Id)>1)2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录DELETEfrom表WHERE(判断字段)IN(SELECT判断......
  • SQL注入之报错注入
    报错注入是什么?在注入点的判断过程中,发现数据库中SQL语句的报错信息,会显示在页面中,因此可以利用报错信息进行注入。报错注入的原理,就是在错误信息中执行SQL语句。触发报错的方式有很多,具体细节也不尽相同。此处建议直接背公式,将公式带换掉1=1的部分。报错注入就是在判断SQL注......
  • A VNC server is already running as :1
    看到这一行字是不是很崩溃。当输入vncserver-kill:1,输出结果是:Can'tfindfile/home/ubuntu/.vnc/VM-0-11-ubuntu:1.pidYou'llhavetokilltheXtightvncprocessmanually是不是更崩溃。 不过,经过热心网友的分享,且最终亲测有效的解决方法就是:删除这两个文件。rm/......
  • Mysql学习
    ​Mysql​数据库(DataBase,简称DB):存储和管理数据的仓库。数据库管理系统(DataBaseManagementSystem,简称DBMS)DBMS是操作和管理数据库的大型软件。将来我们只需要操作这个软件,就可以通过这个软件来操纵和管理数据库了。此时又出现一个问题:DBMS这个软件怎么知道要操作的......
  • MySQL 入门
    0x01简介数据库(Database)是按照数据结构来组织、存储和管理数据的仓库数据库管理系统(DatabaseManagementSystem,又称DBMS)主要用于对数据库的操作与管理,是一种软件,如MySQL0x02安装配置(1)Mac使用命令brewinstallmysql下载并安装使用命令mysql.serverstart启动My......
  • SQL注入基础学习5
    SQL注入基础学习5二、靶场实操(开始先学习手工,后面的话,可以采用sqlmap等自动化工具)靶场采用sqli-labs21、第21关第21关是也是属于cookie注入的登陆后查看页面或者报头信息(如图一),会发现,输入时uname=admin1,但是页面上显示的YWRtaW4x说明被编码了,试一下bsae64解码(如图二),图......
  • MySQL 查看SQL进程和杀掉进程
    要在MySQL中查看正在执行的长时间运行的SQL语句,您可以使用SHOWPROCESSLIST命令。这个命令显示了当前MySQL服务器上正在执行的所有进程的信息,包括每个进程的ID、用户、主机、数据库、命令和执行时间等信息。SHOWFULLPROCESSLIST;使用FULL关键字可以显示完整的SQL......