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

एक ही क्वेरी में रिकॉर्ड की गिनती प्रतिशत प्राप्त करें

COUNT(*) OVER() आपको कुल गिनती देता है।

संपादित करें लेकिन वास्तव में आपको SUM(COUNT(MyTbl.ItemID)) OVER() . की आवश्यकता है जैसा कि आप उस कॉलम के मानों को जोड़ रहे हैं।

SELECT Items.ItemID,
       [count] = COUNT(MyTbl.ItemID),
       [Percent] = 100.0 * COUNT(MyTbl.ItemID) / SUM(COUNT(MyTbl.ItemID)) OVER()
FROM   (VALUES (1,'N1'),
               (2,'N2'),
               (3,'N4'),
               (4,'N5')) Items(ItemID, ItemName)
       LEFT JOIN (VALUES(1),
                        (1),
                        (3),
                        (4),
                        (4),
                        (4)) MyTbl(ItemID)
         ON ( MyTbl.ItemID = Items.ItemID )
GROUP  BY Items.ItemID
ORDER  BY Items.ItemID  


  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. डेटाबेस में सभी तालिकाओं का आकार प्राप्त करें

  3. SQL सर्वर में क्रमपरिवर्तन उत्पन्न करने का सबसे सुंदर तरीका

  4. मान को अल्पविराम से अलग करने के लिए COALESCE फ़ंक्शन का उपयोग करना

  5. SQL सर्वर प्रबंधन स्टूडियो (SSMS) में .csv या Tab सीमांकित फ़ाइल में क्वेरी परिणाम कैसे निर्यात करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 23