小弟在2000里有一个表(jstab1),该表有两个字段:time(时间类型)、temp(浮点型)。
time里存储的时间格式为:2009-10-23 11:23:34 的格式。
现在是想实现这样的查询:
如果 某天某时某分的temp数据有多条,那就取得这些数据的最小值、最大值和平均值,我不晓得怎么实现,
各位大侠,给点思路先!!!
time里存储的时间格式为:2009-10-23 11:23:34 的格式。
现在是想实现这样的查询:
如果 某天某时某分的temp数据有多条,那就取得这些数据的最小值、最大值和平均值,我不晓得怎么实现,
各位大侠,给点思路先!!!
再用函数MIN,MAX..
,avg(temp) as '平均值' from jstab1 group by [time] having count(1)>1
如果数据库里存在相同时间的数据,如:同一天同一小时同一分钟,那么查询时只需取到该相同时间的最小值、最大值和平均值,具体时间是多少,就以time字段的时间为准,没有什么确切的时间。
select [time], min(temp)as '最小值',max(temp) as '最大值'
,avg(temp) as '平均值' from jstab1 group by [time]
而我想查找的是:如果时间是同年同月同时同分,则取这些数据的最大、最小和平均值,但是这些时间可以秒不相同。
也就是说同一分钟但不同秒,直接用groupby[time] 得到不行
,avg(temp) as '平均值' from jstab1 group by convert(nvarchar(16),[time],120)
把time 换成 left([time],16) 直接截取到分!
列 'jstab1.time' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
报这个错误啊~~~jwdream2008 兄的也是这个错误
,avg(temp) as '平均值' from jstab1 group by convert(nvarchar(16),[time],120)
结贴