Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक निश्चित समय अंतराल पर कुल कार्य

CREATE TABLE tt (time TIMESTAMP, value NUMBER);

INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.40.00.000000000 PM', 2);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.41.35.000000000 PM', 3);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.43.22.000000000 PM', 4);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.47.55.000000000 PM', 5);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.52.00.000000000 PM', 2);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.54.59.000000000 PM', 3);
INSERT INTO tt (time, value) VALUES ('06-JUN-12 12.56.01.000000000 PM', 4);


WITH tmin AS (
    SELECT MIN(time) t FROM tt
),   tmax AS (
    SELECT MAX(time) t FROM tt
)
SELECT ranges.inf, ranges.sup, AVG(tt.value)
FROM
     (
        SELECT 
            5*(level-1)*(1/24/60) + tmin.t as inf,
            5*(level)*(1/24/60) + tmin.t as sup
        FROM tmin, tmax
        CONNECT BY (5*(level-1)*(1/24/60) + tmin.t) < tmax.t
    ) ranges JOIN tt ON tt.time BETWEEN ranges.inf AND ranges.sup
GROUP BY ranges.inf, ranges.sup
ORDER BY ranges.inf

बेला:http://sqlfiddle.com/#!4/9e314/11

संपादित करें:जस्टिन ने हमेशा की तरह हराया... :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सॉकेट त्रुटि से पढ़ने के लिए कोई और डेटा नहीं

  2. जावा में कनेक्शन पूलिंग कैसे करें?

  3. Oracle माइनस ऑपरेटर समझाया गया

  4. क्या विदेशी कुंजी हमेशा किसी अन्य तालिका में एक अद्वितीय कुंजी का संदर्भ देती है?

  5. SQL Oracle LEFT JOIN और SUBQUERY त्रुटि:ORA-00905:अनुपलब्ध कीवर्ड