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

एसक्यूएल:क्वेरी के साथ परेशानी हो रही है जो कुल कार्यों का उपयोग करके प्रतिशत प्राप्त करती है

उपयोग करें:

  SELECT je.statusid,
         COUNT(*) AS num,
         (COUNT(*) / (SELECT COUNT(*)+.0
                       FROM JOURNAL_ENTRY) ) * 100
    FROM JOURNAL_ENTRY je
GROUP BY je.statusid

फिर यह आपकी इच्छित सटीकता को स्वरूपित करने की बात है:

CAST(((COUNT(*) / (SELECT COUNT(*)+.0 FROM BCCAMPUS.dbo.COURSES_RFIP)) * 100)
     AS DECIMAL(4,2))

... दो दशमलव स्थान देगा। यदि आप कोई दशमलव स्थान नहीं चाहते हैं तो परिणाम को INT पर कास्ट करें।

दोहराव को कम करने के लिए आप सीटीई का उपयोग कर सकते हैं:

WITH cte AS (
   SELECT je.*
     FROM JOURNAL_ENTRY je
    WHERE je.user_id = 3)
  SELECT c.statusid,
         COUNT(*) AS num,
         (COUNT(*) / (SELECT COUNT(*)+.0
                       FROM cte) ) * 100
    FROM cte c
GROUP BY c.statusid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एन-टियर एप्लिकेशन में यूटीसी डेटाटाइम वैल्यू कहां सेट करें:प्रेजेंटेशन लेयर, डोमेन या डेटाबेस?

  2. SQL सर्वर 2005 से MS Excel फ़ाइल पढ़ना

  3. एकाधिक स्तंभों के साथ SQL सर्वर गतिशील धुरी

  4. ASP.NET सदस्यता डेटाबेस को SQL Azure में माइग्रेट करना

  5. किसी अन्य तालिका से श्रेणी के बीच रिकॉर्ड का चयन करें