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

समूह में 'मध्य' मूल्यों का औसत कैसे प्राप्त करें?

विश्लेषणात्मक कार्यों का उपयोग करने वाला एक अन्य विकल्प;

SELECT group_id,
       avg( test_value )
FROM (
  select t.*,
         row_number() over (partition by group_id order by test_value ) rn,
         count(*) over (partition by group_id  ) cnt
  from test t
) alias 
where 
   cnt <= 3
   or 
   rn between floor( cnt / 2 )-1 and ceil( cnt/ 2 ) +1
group by group_id
;

डेमो --> http://www.sqlfiddle.com/#!11/af5e0 /59



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. django RawQuerySet को क्वेरीसेट में बदलें

  2. Heroku . पर प्यूमा क्लस्टर कॉन्फ़िगरेशन

  3. यूयूआईडी की सरणी पर पोस्टग्रेएसक्यूएल जीआईएन इंडेक्स

  4. हाइबरनेट का उपयोग करके सरणी कॉलम को कैसे सहेजना या पुनर्प्राप्त करना है?

  5. रूबी ऑन रेल्स में वर्तमान/सक्रिय क्वेरी रद्द करें