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

Ingin Nomor Baris pada Grup kolom di SQL SAYA?

Definisi tabel ini akan mencapai apa yang Anda inginkan.

CREATE TABLE  `test` (
  `Id` int(10) unsigned NOT NULL,
  `Name` varchar(45) NOT NULL,
  `RowNum` int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`Id`,`Name`,`RowNum`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Isi tabel dengan data

INSERT INTO test VALUES
(1,"test",null),
(1,"test",null),
(1,"test123",null),
(2,"test222",null),
(3,"test333",null);

Pilih data dari tabel

SELECT * FROM test;

Hasil

1, 'test', 1
1, 'test', 2
1, 'test123', 1
2, 'test222', 1
3, 'test333', 1

Untuk melakukannya dalam kueri, inilah cara yang agak kasar untuk melakukannya.

select g.id,g.name,g.rownum 
from (
    select t.id,t.name,
        @running:=if(@previous=concat(t.id,t.name),@running,0) + 1 as rownum,
        @previous:=concat(t.id,t.name) 
    from test t
    order by concat(t.id,t.name) 
) g;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih rata-rata dari tabel MySQL dengan LIMIT

  2. Gunakan Single Row Query dengan MySQL dan PHP

  3. Cara terbaik untuk menguji apakah ada baris di tabel MySQL

  4. Cara cepat dan mudah untuk memigrasi SQLite3 ke MySQL?

  5. forum php khusus - menampilkan posting baru/belum dibaca