我的表结构STCD 主键 国家统一测站编码TM数据接受日期DRP 接收时间雨量值我现在想统计累计月份降雨天数要每日的drp大于0才是降雨的日子我的日期格式是这样的yyyy-mm-dd hhmm00000;给我sql语句吗我的数据库是sql server
以下是一个示例SQL语句,可以计算每个测站在指定月份内的降雨天数:
SELECT STCD, YEAR(TM) AS Year, MONTH(TM) AS Month, COUNT(DISTINCT CONVERT(DATE, TM)) AS RainyDays
FROM yourTable
WHERE DRP > 0
GROUP BY STCD, YEAR(TM), MONTH(TM)
解释一下上面的语句:
yourTable是你的表名,需要替换成你实际的表名。STCD是测站编码,TM是数据接受日期,DRP是接收时间雨量值,依据你的表结构。CONVERT(DATE, TM)的作用是将日期时间戳转换成日期格式,以便能够按天进行计数。COUNT(DISTINCT CONVERT(DATE, TM))统计每个月内有多少个不同的日期,即降雨天数。GROUP BY STCD, YEAR(TM), MONTH(TM)按照测站编码、年份和月份进行分组。
注意,以上语句只能计算每个月的降雨天数,如果需要计算累计月份降雨天数,需要根据具体需求进行修改
原文地址: https://www.cveoy.top/t/topic/fjgq 著作权归作者所有。请勿转载和采集!