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

गिनती (*) SQL कथन में आवश्यक द्वारा समूह?

यह त्रुटि सही समझ में आता है। COUNT एक "कुल" कार्य है। तो आपको यह बताने की आवश्यकता है कि किस क्षेत्र द्वारा एकत्रित किया जाए, जो GROUP BY के साथ किया जाता है खंड।

जो आपके मामले में शायद सबसे ज्यादा मायने रखता है वह होगा:

SELECT column_a, COUNT(*) FROM my_schema.my_table GROUP BY column_a;

यदि आप केवल COUNT(*) . का उपयोग करें खंड, आप किसी अन्य शर्त से एकत्रित करने के बजाय पंक्तियों की पूरी संख्या वापस करने के लिए कह रहे हैं। आपकी खोज अगर GROUP BY . है उस मामले में निहित है, इसका उत्तर दिया जा सकता है:"प्रकार":यदि आप कुछ भी निर्दिष्ट नहीं करते हैं तो यह पूछने जैसा है:"कुछ भी नहीं समूह", जिसका अर्थ है कि आपको एक विशाल कुल मिलेगा, जो पूरी तालिका है।

उदाहरण के तौर पर, क्रियान्वित करना:

SELECT COUNT(*) FROM table;

आपको उस तालिका में पंक्तियों की संख्या दिखाएगा, जबकि:

SELECT col_a, COUNT(*) FROM table GROUP BY col_a;

आपको पंक्तियों की संख्या प्रति दिखाएगा col_a . का मान . कुछ इस तरह:

    col_a  | COUNT(*)
  ---------+----------------
    value1 | 100
    value2 | 10
    value3 | 123

आपको यह भी ध्यान रखना चाहिए कि * मतलब सब कुछ गिनना . NULL . सहित एस! यदि आप किसी विशिष्ट शर्त की गणना करना चाहते हैं, तो आपको COUNT(expression) . का उपयोग करना चाहिए ! एग्रीगेट फ़ंक्शन के बारे में दस्तावेज़ देखें इस विषय पर अधिक जानकारी के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL उम्र () फ़ंक्शन:अलग-अलग/अप्रत्याशित परिणाम जब अलग-अलग महीने में उतरते हैं

  2. Postgresql 11:संग्रहीत प्रक्रिया कॉल त्रुटि - एक प्रक्रिया को कॉल करने के लिए, कॉल, जावा का उपयोग करें

  3. मैं जेटीए लेनदेन की घटनाओं को कैसे रोक सकता हूं और लेनदेन से जुड़े वर्तमान EntityManager का संदर्भ प्राप्त कर सकता हूं

  4. PostreSQL में INSERT और लेनदेन क्रमांकन

  5. विशेषाधिकारों के साथ एक भूमिका छोड़ें