SQL 语句:按日期分组并计算雨量总和
问题: 我有一个名为 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函数将字符串转换为日期类型。 - 如果需要按小时或分钟进行分组,可以使用
HOUR或MINUTE函数。
原文地址: https://www.cveoy.top/t/topic/n9QE 著作权归作者所有。请勿转载和采集!