2 jack40883 jack40883 于 2014.07.16 14:05 提问

SQL 多时间段查询 求SQL大牛帮忙

表数据如下
code val date
1 1 2014-07-16 08:03:01
1 2 2014-07-16 08:10:00
1 3 2014-07-16 08:15:11
1 5 2014-07-16 08:40:01
1 2 2014-07-16 09:01:09
1 6 2014-07-16 09:20:21
1 3 2014-07-16 09:50:30
1 1 2014-07-16 10:20:22
1 2 2014-07-16 10:33:32
1 6 2014-07-16 11:40:01
1 3 2014-07-16 12:30:22

2 1 2014-07-16 08:03:01
2 2 2014-07-16 08:10:00
2 3 2014-07-16 09:15:11
2 5 2014-07-16 09:40:01
2 2 2014-07-16 10:01:09
2 6 2014-07-16 11:20:21
2 3 2014-07-16 11:50:30

3 1 2014-07-16 08:20:22
3 2 2014-07-16 09:33:32
3 6 2014-07-16 10:40:01
3 3 2014-07-16 11:30:22

分别求出每个code 1小时数据内val总和,2小时数据内val总和,
3小时数据内val总和,6小时数据内val总和

假设当前时间为2014-07-16 12:00:00

1个回答

zhong0490
zhong0490   2014.07.16 15:34

select sum(val),code,h from (select code,val,datediff(hh,'2014-07-16 12:00:00',date as h) from t) as a
group by code,h 以此为蓝本就出来了

shendixiong
shendixiong 楼上是用的MySQL。楼主你是用的什么数据库?
接近 4 年之前 回复
jack40883
jack40883 没明白..求详解
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
sql查询两个时间段是否有交集的情况
方法一:select * from orders where roomid = 21 and ( (startTime >= to_Date('2018-04-17 12:00:00','yyyy-MM-dd hh24:mi:ss') AND startTime <= to_Date('2018-04-18 12:00:00','yyyy-MM-dd hh24:mi:ss')) O...
mybatis分页多条件查询指定时间段数据的sql语句
本案例适用于mysql数据库,在数据库中时间数据类型为datetime。 使用以下sql语句将不会报错,但也得不到想要的结果;      SELECT       a.guide_id,a.pat_id,a.direct_reason,a.sport_direct,a.food_direct,a.drug_suggest,a.guide_time,a.memo,b.name,c.doct
oracle:sql 判断时间段重叠
oracle数据库的时间段重叠求和
数据库查询相隔同等时间段的数据量
比如说一张人员基本信息表,emp_baseinfo; 包含两个字段,聘用日期:emp_pydate和                             离职日期:emp_lzdate。 现在要按条件查询每隔7天的在职人员数量,                           如果查询条件是2016-02-01, 那么截止到2016-02-01是多少人,
SQL查询某个时间段购买过商品的所有用户
goods表如下: name               time product A 2016-1-2 13:23:00 WFEY B 2016-2-17 11:43;34 ASG A 2017-1-10 15:23:00 SGH C 2015-4-5 13:47:20 HRT C
sql时间段查询
sql时间段查询 发有关用SQL语句查询时间段的例子既然有这么多位朋友需要有关用SQL语句查询时间段,就再次写一写,希望对大家有关帮助。假设在SQL SERVER2000数据库中有一个表,表名为book,设置两个日期框,分别起名为起始时间和终止时间,其中在book中有一个D
SQL时间范围语句(包含日期段和时间段)
select * from xy where (id=27 or id=28)   and convert(varchar(10),WRITETIME,120) between '2009-01-26' and '2009-02-06' --日期 and convert(varchar(8),WRITETIME,108) between '08:0
sql查询一段日期内的某个时间段的数据量,该如何解决
sql查询一段日期内的某个时间段的数据量 例如:想查询BOOK_DATE在2010-06-01到2010-08-01之间的13点到15点之间的数据                         select * from tb where convert(varchar(10),BOOK_DATE,120)                between '2010-06-01' and
sql 时间重合查询,时间交叉查询
select * from ERP_Support_date esd where esd.support_start_date between to_date('2013-03-01 18:30:00','yyyy-MM-dd hh24:mi:ss') and to_date('2013-03-01 19:00:00','yyyy-MM-dd hh24:mi:ss')
SQL判断两个时间段是否有交集
题目:给定时间区间(begin,end),数据库字段startTime与endTime,现在要判断它们之间是否有交集。SELECT * FROM xxx WHERE NOT ((endTime < begin) OR (startTime > end))