问题描述
|
我有带时间戳,温度和湿度的表。我想获得湿度高于80%的时段的平均温度。就像是
选择
MIN(DTM),
最大(DTM),
AVG(TMP)
分组依据(HMD> 80)
那可能吗?
谢谢
雨果
我需要定义从湿度超过80%开始到波纹管结束的时间段。然后我必须获取BEGIN时间戳,END时间戳和平均温度
解决方法
在Group BY子句中,您需要使用CASE而不是WHERE:
SELECT MIN (DTM),MAX (DTM),AVG(TMP) GROUP BY (CASE WHEN HMD>80 THEN HMD END);
, 更像:
SELECT MIN (DTM),AVG(TMP) FROM tbl WHERE HMD>80 GROUP BY location
不过,您的主要问题是要提取有效范围,因为HMD > 80
会返回所有符合条件的行,无论它们是否处于同一时间段。
如果您实际上确实需要事先提取有效范围,则可以访问此线程:
从日期时间表中获取包含开始和结束值的列表