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

बाद की पंक्तियों को कैसे समूहित करें (मानदंड के आधार पर) और फिर उन्हें [MySQL] गिनें?

ऐसा करने के लिए मैंने कुछ चरों का उपयोग किया, तालिका संरचना, मैंने केवल परीक्षण के लिए अपना स्वयं का बनाया और यह है:

create table abc (id int, name varchar(20),type int);

insert into abc values 
( 1 , 'A'    , 1  ),
( 2 , 'A'    , 2 ),
( 3 , 'B'    , 1  ),
( 4 , 'A'    , 1  ),
( 5 , 'A'    , 4  ),
( 6 , 'A'    , 5  )

क्वेरी इस तरह समाप्त हुई:

set @a:='';
set @counter:=1;
set @groupby:=0;
select *,count(REPEATED) from (select name,if(@a=name,@counter:[email protected]+1,@counter:=1) as rep,if(@counter=1,@groupby:[email protected]+1,@groupby) as repeated,@a:=name type from abc) as t group by repeated

आप देख सकते हैं कि यह SQLFIDDLE में काम करता है। अगर आपका कोई सवाल है तो मुझे बताएं।

SQLFIDDLE में




  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. समस्या निवारण:MySQL/MariaDB त्रुटि #1044 और #1045 उपयोगकर्ता के लिए एक्सेस अस्वीकृत

  3. mysql अद्वितीय अनुक्रमणिका जावा में अपवाद हैंडलिंग विधि के रूप में उपयोग की जाती है

  4. यूनिकोड वर्णों के साथ कॉलम पर MySQL ऑर्डर

  5. MySQL पूर्ण-पाठ खोज में वाइल्डकार्ड खोज