SQL Server 查询:按月统计雨量数据,并获取单日最大值和对应日期
SQL Server 查询:按月统计雨量数据,并获取单日最大值和对应日期
问题描述:
我的表结构 STCD 包含以下字段:
- 主键
- 国家统一测站编码
- TM 数据接受日期 (格式:'yyyy-mm-dd hh:mm:00.000')
- DRP 接收时间雨量值
现在我想要按月统计雨量数据,并显示每个月的单日最大值和最大值对应的日期。
解决方案:
SELECT
CONVERT(VARCHAR(7), TM, 120) AS Month, -- 提取年月部分
MAX(DRP) AS MaxDailyRainfall, -- 单日最大值
CONVERT(VARCHAR(10), MAX(TM), 120) AS DateOfMax, -- 最大值对应的日期
SUM(DRP) AS MonthlyRainfall -- 月之和
FROM STCD
GROUP BY CONVERT(VARCHAR(7), TM, 120)
解释:
- 使用
CONVERT函数将日期时间格式转换为年月格式,以便对数据进行按月分组。 - 使用
MAX函数找出每个月的最大值,即单日最大值。 - 使用
CONVERT函数将最大值对应的日期时间格式转换为日期格式,以便显示。 - 使用
SUM函数计算每个月的雨量之和。
注意:
- 这个查询结果中的日期格式为 'yyyy-mm-dd',而不是 'yyyy-mm-dd hh:mm:ss',因为在这种情况下,时间部分并不重要。如果您确实需要时间部分,请使用
MAX(TM)函数而不是CONVERT函数。
原文地址: https://www.cveoy.top/t/topic/oaHJ 著作权归作者所有。请勿转载和采集!