首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

按日期选择最晚日期与最早日期对应的数的差值

数据库操作教程 2022-09-23 16:55:19 转载来源: 网络整理/侵权必删

表结构如下numberdate82009/1/112:0072009/1/115:0062009/1/1112:0052009/1/1118:0042009/1/124:0032009/1/1210:0022009/1/1212:0012009/1/1117:00想得到当天的最早时间与最晚时间的number的差值,即如下的结果:差23复制代码代码如下:createtable#date(numberintidentity(1,1)primarykey,datedatetime)insertinto#dateselect'2009/1/1117:00'insertinto#dateselect'2009/1/1212:00'insertinto#dateselect'2009/1/1210:00'insertinto#dateselect'2009/1/124:00'insertinto#dateselect'2009/1/1118:00'insertinto#dateselect'2009/1/1112:00'insertinto#dateselect'2009/1/115:00'ins

表结构如下

number date
8 2009/1/11 2:00
7 2009/1/11 5:00
6 2009/1/11 12:00
5 2009/1/11 18:00
4 2009/1/12 4:00
3 2009/1/12 10:00
2 2009/1/12 12:00
1 2009/1/11 17:00

想得到当天的最早时间与最晚时间的number的差值, 即如下的结果:


2
3
复制代码 代码如下:

create table #date
(
number int identity(1,1) primary key,
date datetime
)
insert into #date select '2009/1/11 17:00'
insert into #date select '2009/1/12 12:00'
insert into #date select '2009/1/12 10:00'
insert into #date select '2009/1/12 4:00'
insert into #date select '2009/1/11 18:00'
insert into #date select '2009/1/11 12:00'
insert into #date select '2009/1/11 5:00'
insert into #date select '2009/1/11 2:00'

select (d2.number-d1.number) number
from
(
select number,date from #date where date in
(select max(date) from #date group by convert(varchar(10),date,120) )
) d1
,
(
select number,date from #date where date in
(select min(date) from #date group by convert(varchar(10),date,120) )
) d2
where convert(varchar(10),d1.date,120)=convert(varchar(10),d2.date,120)

number
-----------
2
3

标签: 日期 选择 最晚 最早 对应 差值


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持