问题: 我有一个名为 STCD 的表,其中包含以下列:

  • STCD:主键,国家统一测站编码
  • TM:数据接受日期
  • DRP:接收时间雨量值

我想对同日期的雨量值求和并显示一行。

解决方案:

可以使用 DATE 函数和 GROUP BY 子句来对所有日期进行归类,具体语句如下:

SELECT DATE(TM) AS Date, SUM(DRP) AS total_rainfall
FROM STCD
GROUP BY DATE(TM)

解释:

  • DATE(TM) 函数提取 TM 列中的日期部分。
  • AS Date 将结果列重命名为 Date。
  • SUM(DRP) 计算每个日期的雨量值总和。
  • AS total_rainfall 将结果列重命名为 total_rainfall。
  • GROUP BY DATE(TM) 按日期分组,将相同日期的雨量值进行求和。

示例:

假设 STCD 表中包含以下数据:

| STCD | TM | DRP | |------|---------------------------|-----| | 1 | 2012-04-15 20:00:00.000 | 10 | | 2 | 2012-04-15 21:00:00.000 | 15 | | 3 | 2012-04-16 08:00:00.000 | 20 | | 4 | 2012-04-16 10:00:00.000 | 25 |

执行上述 SQL 语句后,结果将如下所示:

| Date | total_rainfall | |------------|----------------| | 2012-04-15 | 25 | | 2012-04-16 | 45 |

注意:

  • 此语句假设 TM 列的类型为日期时间类型。
  • 如果 TM 列的类型为字符串类型,则需要使用 STR_TO_DATE 函数将字符串转换为日期类型。
  • 如果需要按小时或分钟进行分组,可以使用 HOURMINUTE 函数。

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

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