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

Số tự động và số đặt lại cho từng giá trị cột khác nhau

Không được kiểm tra, nhưng điều này sẽ thực hiện thủ thuật:

SELECT
IF(@prev != a.clientid, @rownum:=1, @rownum:[email protected]+1) as rownumber, @prev:=a.clientid, a.*
FROM (
SELECT 
visitdate, 
clientid 
FROM visit, (SELECT @rownum := 0, @prev:='') sq
ORDER BY clientid,visitdate
) a

Và btw, không có "chức năng @rownum", nó chỉ là một số "giải pháp" tự chế, @rownum chỉ là một biến. Bạn cũng có thể đặt tên cho nó là @w Anything.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để đối phó với dấu và ký tự lạ trong cơ sở dữ liệu?

  2. CHỌN kết quả có thứ tự cột sai với PyMySQL

  3. Cách CHÈN VÀO ... CHỌN với BẬT KHÓA DUPLICATE

  4. Mở rộng JSON với các khóa không xác định thành các hàng với MySQL JSON_TABLE

  5. MYSQL ẩn dữ liệu trường nếu giá trị trong trường khác được đặt