假设有一个名为 'temperature' 的表,包含 'date' 和 'temperature' 两列,可以使用以下 SQL 语句计算平均夜间和日间温度:

SELECT AVG(CASE WHEN HOUR(date) BETWEEN 6 AND 17 THEN temperature ELSE NULL END) AS avg_day_temperature,
       AVG(CASE WHEN HOUR(date) NOT BETWEEN 6 AND 17 THEN temperature ELSE NULL END) AS avg_night_temperature
FROM temperature;

解释:

  • 使用 CASE 语句将日期时间按照是否在白天(6点到17点)进行分类
  • 使用 AVG 函数计算每个分类的平均温度
  • 使用 SELECT 语句同时输出两个结果

注意事项:

  • HOUR 函数用于提取日期时间的小时部分
  • 以上做法默认日期时间的时区是本地时区,如果需要转换时区可以使用相关函数
SQL 计算平均日间和夜间温度 - 分组统计温度数据

原文地址: https://www.cveoy.top/t/topic/mBuD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录