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

जब क्वेरी में GROUP BY हो तो कुल का प्रतिशत कैसे प्राप्त करें?

बड़े सेट के लिए, जॉइन सबक्वेरी से बेहतर प्रदर्शन कर सकता है।

SELECT ma.actor
     , COUNT(1) AS total
     , COUNT(1) / t.cnt * 100 AS `percentage`
  FROM movies_actors ma
 CROSS
  JOIN (SELECT COUNT(1) AS cnt FROM movies_actors) t
 GROUP
    BY ma.actor
     , t.cnt  

बड़े सेटों के लिए, और जब पंक्तियों का एक बड़ा प्रतिशत वापस किया जा रहा है, तो जॉइन ऑपरेशन आमतौर पर एक सबक्वायरी से बेहतर प्रदर्शन कर सकता है। आपके मामले में, यह एक सहसंबद्ध उपश्रेणी नहीं है, इसलिए MySQL को इसे कई बार निष्पादित नहीं करना चाहिए, इसलिए इससे कोई फर्क नहीं पड़ सकता है।

COUNT(1) . के गैर-प्रशंसकों के लिए नोट ... हम COUNT(1) . की किसी भी और सभी घटनाओं को बदल सकते हैं COUNT(*) . के साथ या IFNULL(SUM(1),0) समकक्ष परिणाम प्राप्त करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy सत्र ऑब्जेक्ट में सत्र सेट करें

  2. चयन में MySQL वाइल्डकार्ड

  3. जावा में युग को mySQL टाइमस्टैम्प में कैसे बदलें

  4. ZF2 में Zend\Db लेनदेन को कैसे नियंत्रित करता है?

  5. मैं mysqli_ फ़ंक्शंस का उपयोग करने के लिए mysql_ फ़ंक्शंस का उपयोग करके स्क्रिप्ट को कैसे परिवर्तित करूं?