Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengelompokkan baris berikutnya (berdasarkan kriteria) dan kemudian menghitungnya [MySQL]?

Untuk melakukan itu saya menggunakan beberapa variabel, struktur tabel, saya membuat sendiri hanya untuk pengujian dan itu:

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  )

kueri berakhir seperti ini:

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

Anda dapat melihatnya bekerja di SQLFIDDLE jika Anda memiliki pertanyaan, beri tahu saya.

Dalam 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. Gagal meningkatkan SonarQube dari 4.5.2 ke 5.0

  2. Varbinary vs Blob di MySQL

  3. Mysql tidak dapat memilih catatan di tabel

  4. menampilkan data dari database ke dropdown CodeIgniter

  5. mysql anak induk