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

एसक्यूएल में समान मूल्य वाली पंक्तियों को कैसे समूहित करें?

इसे आजमाएं

DECLARE @temp TABLE(col1 varchar(20),col2 int, col3 varchar(20))
insert into @temp values ('data1', 123 , '12/03/2009'),('data1', 124 , '15/09/2009'),
                        ('data2 ',333  ,'02/09/2010'),('data2 ',323 , '02/11/2010'),
                        ('data2 ',673 , '02/09/2014'),('data2',444 , '05/01/2010')

SELECT 
    (CASE rno WHEN 1 THEN col1 ELSE '' END )AS col1,
    col2,
    col3
FROM
(                   
    SELECT 
        ROW_NUMBER() OVER(PARTITION BY Col1 ORDER BY col2) AS rno,
        col1,col2,col3
    FROM @temp
) As temp

यह निम्न आउटपुट देता है

col1    col2    col3
---------------------------------
data1   123 12/03/2009
        124 15/09/2009
data2   323 02/11/2010
        333 02/09/2010
        444 05/01/2010
        673 02/09/2014

PARTITION BY दिए गए कॉलम नाम के साथ डेटा को समूहीकृत कर रहा है, और उस समूह में order by के आधार पर एक पंक्ति संख्या उत्पन्न होती है .

यह रहा SQL Fiddle

मैंने प्रदान की गई स्कीमा के आधार पर एक और पहेली बनाई है।fiddle2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SWITCHOFFSET () SQL सर्वर में उदाहरण

  2. डीबी . से अचिह्नित डेटा प्राप्त करें

  3. SQL में माह संख्या को माह नाम फ़ंक्शन में कनवर्ट करें

  4. SQL सर्वर:क्वेरी को .txt फ़ाइल के रूप में निर्यात करें

  5. एसक्यूएल क्वेरी में त्रुटि गलत सिंटैक्स निकट