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

एसक्यूएल:प्रत्येक कॉलम में अलग-अलग मानों की संख्या गिनें

इसे आजमाएं (एसक्यूएल सर्वर 2005 सिंटैक्स):

DECLARE @YourTable table (col1  varchar(5)
                         ,col2  int
                         ,col3  datetime
                         ,col4  char(3)
                         )

insert into @YourTable values ('abcdf',123,'1/1/2009','aaa')
insert into @YourTable values ('aaaaa',456,'1/2/2009','bbb')
insert into @YourTable values ('bbbbb',789,'1/3/2009','aaa')
insert into @YourTable values ('ccccc',789,'1/4/2009','bbb')
insert into @YourTable values ('aaaaa',789,'1/5/2009','aaa')
insert into @YourTable values ('abcdf',789,'1/6/2009','aaa')


;with RankedYourTable AS
(
SELECT
    ROW_NUMBER() OVER(PARTITION by col1 order by col1) AS col1Rank
        ,ROW_NUMBER() OVER(PARTITION by col2 order by col2) AS col2Rank
        ,ROW_NUMBER() OVER(PARTITION by col3 order by col3) AS col3Rank
        ,ROW_NUMBER() OVER(PARTITION by col4 order by col4) AS col4Rank
    FROM @YourTable
)
SELECT
    SUM(CASE WHEN      col1Rank=1 THEN 1 ELSE 0 END) AS col1DistinctCount
        ,SUM(CASE WHEN col2Rank=1 THEN 1 ELSE 0 END) AS col2DistinctCount
        ,SUM(CASE WHEN col3Rank=1 THEN 1 ELSE 0 END) AS col3DistinctCount
        ,SUM(CASE WHEN col4Rank=1 THEN 1 ELSE 0 END) AS col4DistinctCount
    FROM RankedYourTable

आउटपुट:

col1DistinctCount col2DistinctCount col3DistinctCount col4DistinctCount
----------------- ----------------- ----------------- -----------------
4                 3                 6                 2

(1 row(s) affected)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql स्टेटमेंट स्टिकिंग नहीं तैयार करता है

  2. सॉकेट.आईओ नोड.जेएस और आने वाले संदेशों का उपयोग करके अधिसूचना प्रणाली के लिए आर्किटेक्चर कार्यान्वयन और डिजाइन

  3. डेटाग्रिडव्यू चयनित पंक्ति से mysql डेटाबेस अपडेट करें

  4. MySQL क्लाइंट एप्लिकेशन का उपयोग करना

  5. AWS MSK का उपयोग करके अरोरा से रिकॉर्ड भेजने के लिए काफ्का कनेक्ट सेटअप