db2计算小时之间的差

该SQL查询用于在DB2数据库中计算两个时间点之间相差的小时数,特别是在空气质量达到500的时段。查询首先找出特定城市和时间段内AQI大于等于500的小时,然后计算这些小时与最近一次AQI超过500的时间点之间的差值。最后,根据地区对结果进行聚合,并结合地理位置信息进行展示。
摘要由CSDN通过智能技术生成
SELECT AREA,SUM_HOUR AS AQIBBSC,CNT_HOUR AS AQICXBBCS,LONGITUDE,LATITUDE FROM (
SELECT AREA,SUM_HOUR,CNT_HOUR,C.LONGITUDE,C.LATITUDE,
ROW_NUMBER() OVER (PARTITION BY E.AREA ORDER BY E.AREA DESC) AS RN
FROM (
SELECT AREA,CITYCODE,SUM(HOUR_CNT) SUM_HOUR,COUNT(*) CNT_HOUR
FROM (
SELECT AREA,CITYCODE,HOURSDIF,COUNT(*) HOUR_CNT
 FROM (
SELECT AREA,CITYCODE,
HOUR(ATIMEPOINT)-HOUR(BTIMEPOINT) + (DAYS(ATIMEPOINT) - DAYS(BTIMEPOINT)) * 24 -ROWNUM AS HOURSDIF
FROM (
SELECT TIMEPOINT ATIMEPOINT,AREA,CITYCODE,(
SELECT TIMEPOINT
FROM TENV.AIR_CITYHOURAQI_PUBLISH B WHERE AQI >= 500 
AND TO_CHAR(TIMEPOINT,'YYYY-MM') >= '2016-01' AND TO_CHAR(TIMEPOINT,'YYYY-MM') <= '2017-11'
AND B.CITYCODE = A.CITYCODE
AND ROWNUM = 1
) BTIMEPOINT
FROM TENV.AIR_CITYHOURAQI_PUBLISH A
WHERE AQI >= 500
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值