每小时雨量表a:
ID 降雨量 日期时间 时最高温度 时最低温度
-------------------------------------
a001 12 02-10-21 08:00:00 20 18.2
a001 0 02-10-21 09:00:00 22 21.1
.
.
.
a001 0.3 02-10-22 16:00:00 26 25.2
a002 9 02-10-21 08:00:00 17 16.2
.
.
.
a002 0.1 02-10-22 16:00:00 25.8 25.3
表b:
ID 地区 站名
a001 北京 天文台
a002 北京 天安门
a003 广州 天文台
a004 广州 水利会
.
.
.
我需要获得的输出是:(请注意,日期时间输出仅输入时间)
ID 站名 地区 日期 日最高温度 日最低温度 日降雨量
a001 天文台 北京 2002-10-20 26 18.2 12.3
a002 天安门 北京 2002-10-20 .. .. ..
我要统计每个站每天的最高温度和最低温度,日降雨量。
最高低温度统计方法为取一天中最高最低值,降雨量取每小时加起来的总数
还有就是统计北京的最高低温度和日降雨量,因为北京有两个站,取值方法为:高低温度取最高最低值,降雨量选最大值,即哪个站录得雨量最大就选哪个。
还有统计全国地区,例如北部地区,南部地区,西部地区,东部地区,统计方法和城市统计一样。
---------------------------------------------------------------
SELECT B.ID,B.站名,B.地区,CONVERT(CHAR(10),A.日期时间,120) AS 日期,MAX(A.时最高温度) AS 日最高温度,MIN(A.时最低温度) AS 日最低温度,SUM( 降雨量) AS 日降雨量
FROM A,B
WHERE A.ID=B.ID
GROUP BY B.ID,B.站名,B.地区,CONVERT(CHAR(10),A.日期时间,120)
题不够难(更不用说巨难),分不够高!!!
---------------------------------------------------------------
其实GROUP BY CASE WHEN 取小时部分 > 20 then 加1天 ELSE 当天 END CASE
办法没有加小时的办法好,但也是个思路,扩展扩展视野,终究CASE使用要比较灵活一些,如果以上题目对时间的规则会变的更复杂的化只有用CASE才能达到目的