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

Postgres . का उपयोग करके एक विशिष्ट समय के बीच औसत मानों के साथ एकाधिक डेटा का चयन करने की क्वेरी

आप avg_aa को बिगिंट या डबल प्रिसिजन में बदल सकते हैं। नाम फ़ील्ड से पहले आईडी और नाम घटाएं, फिर आईडी और तारीख के आधार पर औसत की गणना करें।

-- PostgreSQL(v11)
    WITH cte_t AS (
     SELECT LEFT(name, 1) id
          , RIGHT(name, POSITION('.' IN REVERSE(name)) - 1) t_name
          , value
          , time_stamp
     FROM test
)
SELECT id
          , time_stamp :: DATE "date"
          , AVG(CASE WHEN t_name = 'aa' THEN value END) :: BIGINT "avg(aa)"
          , AVG(CASE WHEN t_name = 'bb' THEN value END) :: BIGINT "avg(bb)"
          , AVG(CASE WHEN t_name = 'cc' THEN value END) :: BIGINT "avg(cc)"
     FROM cte_t
     GROUP BY id, time_stamp :: DATE
     ORDER BY "date", id;

कृपया url से जाँचें https://dbfiddle.uk/?rdbms=postgres_11&fiddle19d5765a4fd5757576513ce4fd

औसत कॉलम में दोहरी सटीकता का उपयोग करें

-- PostgreSQL(v11)
WITH cte_t AS (
     SELECT LEFT(name, 1) id
          , RIGHT(name, POSITION('.' IN REVERSE(name)) - 1) t_name
          , value
          , time_stamp
     FROM test
)
SELECT id
          , time_stamp :: DATE "date"
          , AVG(CASE WHEN t_name = 'aa' THEN value END) :: DOUBLE PRECISION "avg(aa)"
          , AVG(CASE WHEN t_name = 'bb' THEN value END) :: DOUBLE PRECISION "avg(bb)"
          , AVG(CASE WHEN t_name = 'cc' THEN value END) :: DOUBLE PRECISION "avg(cc)"
     FROM cte_t
     GROUP BY id, time_stamp :: DATE
     ORDER BY "date", id;

कृपया url https://dbfiddle.uk/?rdbms=postgres_11&fiddle=13f7eb3fc08080fefa>8008 से जांचें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL डोमेन त्रुटि:कॉलम मौजूद नहीं है, डिफ़ॉल्ट सेटिंग

  2. एक क्वेरी योजना में बिटमैप हीप स्कैन क्या है?

  3. PostgreSQL दो टाइमस्टैम्प के बीच मध्यबिंदु खोजने के लिए

  4. त्रुटि प्राप्त करें:हरोकू में तैनात करते समय आपको कम से कम एक पोस्टग्रेस्क्ल-क्लाइंट-<संस्करण> पैकेज स्थापित करना होगा

  5. आप कैसे सुनिश्चित करते हैं कि लॉगिंग टेबल से मान अन्य तालिकाओं में वस्तुओं से मेल खाते हैं?