既查询13:47:00、13:49:00、13:51:00、13:53:00、13:55:00时间对应的数据。
8 个解决方案
#1
--这样??
--这个按每五分钟的,你稍微改改就行了.
[code=SQL]create table tb(时间 datetime , 金额 int)
insert into tb values('2007-1-1 10:00:23' , 8 )
insert into tb values('2007-1-1 10:01:24' , 4 )
insert into tb values('2007-1-1 10:05:00' , 2 )
insert into tb values('2007-1-1 10:06:12' , 3 )
insert into tb values('2007-1-1 10:08:00' , 1 )
insert into tb values('2007-1-1 10:12:11' , 5 )
go
--时间段>=10:00:00 and 时间段<10:05:00
select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120)) as 时间段,
count(*) as 行数,
sum(金额) as 总金额
from tb
group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120))
/*
时间段 行数 总金额
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 3 14
2007-01-01 10:05:00.000 2 4
2007-01-01 10:10:00.000 1 5
(所影响的行数为 3 行)
*/
--时间段>10:00:00 and 时间段<=10:05:00
select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,1,时间),120),dateadd(ss,1,时间))/5)*5,convert(varchar(10),时间,120)) as 时间段,
count(*) as 行数,
sum(金额) as 总金额
from tb
group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,1,时间),120),dateadd(ss,1,时间))/5)*5,convert(varchar(10),时间,120))
/*
时间段 行数 总金额
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 2 12
2007-01-01 10:05:00.000 3 6
2007-01-01 10:10:00.000 1 5
(所影响的行数为 3 行)
*/
drop table tb
#2
参考.
#3
create procedure prco_getResult
@beginDate datetime,
@endDate datetime
as
begin
create table #1(id int identity(1,1),dd datetime)
while @endDate > @beginDate
begin
insert #1 values(@beginDate)
set @beginDate = dateadd(mi,2,@beginDate)
end
select * from tb a join #1 b on a.date = b.dd
end
#4
都没有数据源吗?
不知道楼主这样做的用意是什么?
不知道楼主这样做的用意是什么?
#5
select * from a where todate between '2008-01-03 13:47:00' and '2008-1-3 13:55:00'
and datediff(mi,'2008-01-03 13:47:00',todate) % 2=0
#6
1楼的PL_MM又从哪里拷贝我的代码?
#7
楼上是天神
问个问题好吗
有个日志表如下
时间 用户 动作
XX XX XX
我想查询某个时间某个用户做了什么动过
或者某个特定动作都有哪些人做过,都在什么时间
该怎么做呢
问个问题好吗
有个日志表如下
时间 用户 动作
XX XX XX
我想查询某个时间某个用户做了什么动过
或者某个特定动作都有哪些人做过,都在什么时间
该怎么做呢
#8
a
#1
--这样??
--这个按每五分钟的,你稍微改改就行了.
[code=SQL]create table tb(时间 datetime , 金额 int)
insert into tb values('2007-1-1 10:00:23' , 8 )
insert into tb values('2007-1-1 10:01:24' , 4 )
insert into tb values('2007-1-1 10:05:00' , 2 )
insert into tb values('2007-1-1 10:06:12' , 3 )
insert into tb values('2007-1-1 10:08:00' , 1 )
insert into tb values('2007-1-1 10:12:11' , 5 )
go
--时间段>=10:00:00 and 时间段<10:05:00
select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120)) as 时间段,
count(*) as 行数,
sum(金额) as 总金额
from tb
group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120))
/*
时间段 行数 总金额
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 3 14
2007-01-01 10:05:00.000 2 4
2007-01-01 10:10:00.000 1 5
(所影响的行数为 3 行)
*/
--时间段>10:00:00 and 时间段<=10:05:00
select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,1,时间),120),dateadd(ss,1,时间))/5)*5,convert(varchar(10),时间,120)) as 时间段,
count(*) as 行数,
sum(金额) as 总金额
from tb
group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,1,时间),120),dateadd(ss,1,时间))/5)*5,convert(varchar(10),时间,120))
/*
时间段 行数 总金额
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 2 12
2007-01-01 10:05:00.000 3 6
2007-01-01 10:10:00.000 1 5
(所影响的行数为 3 行)
*/
drop table tb
#2
参考.
#3
create procedure prco_getResult
@beginDate datetime,
@endDate datetime
as
begin
create table #1(id int identity(1,1),dd datetime)
while @endDate > @beginDate
begin
insert #1 values(@beginDate)
set @beginDate = dateadd(mi,2,@beginDate)
end
select * from tb a join #1 b on a.date = b.dd
end
#4
都没有数据源吗?
不知道楼主这样做的用意是什么?
不知道楼主这样做的用意是什么?
#5
select * from a where todate between '2008-01-03 13:47:00' and '2008-1-3 13:55:00'
and datediff(mi,'2008-01-03 13:47:00',todate) % 2=0
#6
1楼的PL_MM又从哪里拷贝我的代码?
#7
楼上是天神
问个问题好吗
有个日志表如下
时间 用户 动作
XX XX XX
我想查询某个时间某个用户做了什么动过
或者某个特定动作都有哪些人做过,都在什么时间
该怎么做呢
问个问题好吗
有个日志表如下
时间 用户 动作
XX XX XX
我想查询某个时间某个用户做了什么动过
或者某个特定动作都有哪些人做过,都在什么时间
该怎么做呢
#8
a