Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Muốn Số hàng trên Nhóm cột trong MY SQL?

Định nghĩa bảng này sẽ đạt được những gì bạn muốn.

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;

Điền vào bảng với dữ liệu

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

Chọn dữ liệu từ bảng

SELECT * FROM test;

Kết quả

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

Vì thực hiện nó trong một truy vấn ở đây là một cách thực hiện khá thô thiển.

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. Unnesting Node gọi cơ sở dữ liệu

  2. So sánh mã zip MySQL PHP cụ thể khoảng cách

  3. MySQL JOIN với LIMIT 1 trên bảng đã tham gia

  4. MYSQL chọn giá trị DISTINCT trong hai cột

  5. Bắt đầu ngày đầu tuần trong MySql bằng cách sử dụng Week No