❶ 求帮助,sql统计某一状态下的时间平均值
select a.*,datediff(ss,a.deCreateDatetime_datetime,b.deCreateDatetime_datetime)/2 as 时间差的平均值,
(select top 1 deCreateDatetime_datetime from myOrder_DE d where deType_nvarchar<>N'IR'
and d.deCreateDatetime_datetime>a.deCreateDatetime_datetime order by d.deCreateDatetime_datetime)
as IR下一个状态的时间
from myOrder_DE a inner join myOrder_DE b
on a.deType_nvarchar=N'IR'
and a.deid_int<>(select max(deid_int) from myOrder_DE where deType_nvarchar=N'IR')
and b.deid_int=(select top 1 deid_int from myOrder_DE
where deid_int<(select top 1 deid_int from myOrder_DE c
where c.deType_nvarchar=N'IR' and c.deid_int>a.deid_int order by c.deid_int) order by deid_int desc)
order by b.deCreateDatetime_datetime
❷ 怎样编写SQL语句求平均成绩
1、打开数据库软件,附加数据库,右键选择新建查询。
❸ sql 求一列中某一时间段的平均值
select avg() from a where riqi between 20000115 and 20000123;
有问题欢迎继续提问,请采纳吧!
❹ 关于用sql语句求平均值,就是把一个表中的所有字段按时间字段的小时来求平均值,而不是按时间段求
--已出结果 SQLSERVER2000
--生成测试数据
CREATE TABLE TestA
(
a int,
b int,
c int,
time datetime
)
INSERT INTO TestA
SELECT 12,13,45,'2009-6-9 10:59:26'
UNION ALL
SELECT 11,41,43,'2009-6-9 10:59:30'
UNION ALL
SELECT 10,75,742,'2009-6-9 11:00:40'
UNION ALL
SELECT 78,72,56,'2009-6-9 11:30:50'
UNION ALL
SELECT 52,11,55,'2009-6-9 12:00:42'
UNION ALL
SELECT 11,41,43,'2009-6-9 12:59:30'
--查询结果
SELECT A*1.0/FCount AS A平均值,B*1.0/FCount AS B平均值,C*1.0/FCount AS C平均值,Time
FROM(
SELECT SUM(a)AS A,SUM(b)AS B,SUM(c)AS C,
CONVERT(char(10),time,121)+' '+LTRIM(DATEPART(hour,time))+':00:00' AS Time,COUNT(*)AS FCount
FROM TestA
GROUP BY CONVERT(char(10),time,121),DATEPART(hour,time)
)AS T
--SELECT 1/2 =0 SELECT 1./2 =0.5 SELECT 1.0/2=0.5
❺ 获取一个时刻开始60分钟的,每分钟数据的平均值sql怎么写,mysql的
函数UNIX_TIMESTAMP(createtime)把时间转换成UNIX时间戳,也就是与1970年1月1日的秒数差,因为你是要求按每分钟,所以DIV 60把秒转换成分钟,通过GROUP BY把数据分组,用AVG函数求出每个分组的平均值。
SELECT (UNIX_TIMESTAMP(createtime) DIV 60)
, AVG(stquantity) AS stquantity
, AVG(indoortemperature) AS indoortemperature
, AVG(indoorhumidity) AS indoorhumidity
, AVG(carbondioxide) AS carbondioxide
, AVG(voc) AS voc
FROM 表名
GROUP BY UNIX_TIMESTAMP(createtime) DIV 60
❻ SQL 按时间字段每天分四个部分提取平均值
比如:
select case when convert(varchar(8),时间,108) between '00:00:00' and '05:59:59' then convert(varchar(10),时间,120) + '-1'
when convert(varchar(8),时间,108) between '06:00:00' and '11:59:59' then convert(varchar(10),时间,120) + '-2'
when convert(varchar(8),时间,108) between '12:00:00' and '17:59:59' then convert(varchar(10),时间,120) + '-3'
when convert(varchar(8),时间,108) between '18:00:00' and '23:59:59' then convert(varchar(10),时间,120) + '-4' end 时间段,
avg(值) 平均值
group by
case when convert(varchar(8),时间,108) between '00:00:00' and '05:59:59' then convert(varchar(10),时间,120) + '-1'
when convert(varchar(8),时间,108) between '06:00:00' and '11:59:59' then convert(varchar(10),时间,120) + '-2'
when convert(varchar(8),时间,108) between '12:00:00' and '17:59:59' then convert(varchar(10),时间,120) + '-3'
when convert(varchar(8),时间,108) between '18:00:00' and '23:59:59' then convert(varchar(10),时间,120) + '-4' end
❼ ACCESS SQL语句 指定日期间, 昼间(就是白天比如6:00--18:00)平均数据SQL怎么写
我模拟了你的数据。你要的结果是这样的吧:
转化为SQL语句则如下:
SELECTDateValue([时间])AS日期,Avg(数据)AS指定时间的平均值
FROM表4
WHERETimeValue([时间]) Between#6:0:0#And#18:0:0#
GROUPBYDateValue([时间]);
说明:datevalue()函数返回时间的“年月日”;timevalue()函数返回时间的“分时秒”。
❽ 怎么用SQL求平均分
摘要 1:使用sql自带的avg函数
❾ SQL计算平均分。
count()求和,avg()平均
❿ 如何用SQL求各分钟内记录的平均值
SELECT ID,convert(varchar(5),Time,120),avg(sum(speed)) from table_name
group by ID,convert(varchar(5),Time,120)
convert(varchar(5),Time,120) 看时间的前五个字节 意思是到分为止
avg(sum(speed)) 把一分钟内的速度加总 然后平均值