如何解决如何在一段时间内进行GROUP BY?
| 我有带时间戳,温度和湿度的表。我想获得湿度高于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
会返回所有符合条件的行,无论它们是否处于同一时间段。
如果您实际上确实需要事先提取有效范围,则可以访问此线程:
从日期时间表中获取包含开始和结束值的列表
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。