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

PG::ग्रुप बाय क्लॉज में त्रुटि

GROUP BY using का उपयोग करते समय आप SELECT नहीं कर सकते वे फ़ील्ड जो GROUP BY . का हिस्सा नहीं हैं या एक समग्र कार्य में उपयोग किया जाता है। यह SQL मानक द्वारा निर्दिष्ट किया गया है, हालांकि कुछ डेटाबेस वैसे भी ऐसे प्रश्नों को निष्पादित करना चुनते हैं। चूंकि इस तरह की क्वेरी को निष्पादित करने का कोई एक सही तरीका नहीं है, वे केवल पहली पंक्ति को ढूंढते हैं और उसे वापस कर देते हैं, इसलिए परिणाम अप्रत्याशित रूप से भिन्न होंगे।

ऐसा लगता है कि आप यह कहना चाह रहे हैं:

"प्रत्येक प्रकाशन के लिए मुझे उस प्रकाशन के लिए ट्विटर, फ़ेसबुक और लिंक्डइन काउंट का योग प्राप्त करें"।

अगर ऐसा है, तो आप लिख सकते हैं:

SELECT publication,
       sum(twitter_count) AS twitter_sum,
       sum(linkedin_count) AS linkedin_sum,
       sum(facebook_count) AS facebook_sum
FROM "articles" 
WHERE "articles"."user_id" = 1 
GROUP BY publication;

इसे ActiveRecord/Rails में अनुवाद करना ... आप पर निर्भर है, मैं इसका उपयोग नहीं करता हूं। ऐसा लगता है कि आपने जो लिखने की कोशिश की है वह काफी कुछ है लेकिन ActiveRecord इसे उलझा रहा है, शायद स्थानीय स्तर पर रकम निष्पादित करने का प्रयास कर रहा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल ऐप में हेरोकू पोस्टग्रेएसक्यूएल GROUP_BY त्रुटि

  2. Postgres SQL में `->>` और `->` में क्या अंतर है?

  3. PostgreSQL और JDBC के साथ ClassNotFoundException

  4. PostgreSQL - बाधाओं को अक्षम करना

  5. PostgreSQL में वर्तमान समय कैसे प्राप्त करें