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
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