2013-12-16 12 views
10

मान लीजिए मैं Postgres में एक टेबल listings कि इस तरह दिखता है कहा जाता है:PostgreSQL के साथ पिवट तालिका बनाएँ

id neighborhood bedrooms price 
1  downtown  0   256888 
2  downtown  1   334000 
3  riverview  1   505000 
etc. 

मैं एक crosstab क्वेरी, जो स्तंभ और पड़ोस के रूप में के रूप में औसत कीमत बेडरूम प्रति से पता चलता कैसे लिख सकता हूँ पंक्तियां?

क्वेरी के उत्पादन (संख्या के बने होते हैं, कॉलम बेडरूम हैं) कुछ इस तरह दिखना चाहिए:

SELECT neighborhood, bedrooms, avg(price) 
FROM listings 
GROUP BY 1,2 
ORDER BY 1,2 

:

  0  1  2  3 
riverton 250000 300000 350000 - 
downtown 189000 325000 -  450000 

उत्तर

17

पहले समेकित फ़ंक्शन avg() साथ औसत की गणना फिर परिणाम को crosstab() फ़ंक्शन पर फ़ीड करें जैसा कि इस संबंधित उत्तर में बहुत विस्तार से निर्देशित किया गया है:

+0

धन्यवाद। ग्रुप द्वारा 1,2 का मतलब क्या है? – Avishai

+4

@ अवीशई: (पूरी तरह से कार्यात्मक) सिंटैक्स शॉर्टंड स्थितित्मक संदर्भों के साथ, 'ग्रुप बाय पड़ोस, बेडरूम' के लिए छोटा –

संबंधित मुद्दे