Mysql
 sql >> база данни >  >> RDS >> Mysql

Автоматично номериране и нулиране на броя за всяка различна стойност на колона

Не е тествано, но това трябва да свърши работа:

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

И между другото, няма "функционалност @rownum", това е просто някакво самостоятелно направено "решение", @rownum е просто променлива. Можете също така да го кръстите @каквото и да е.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ЗАРЕЖДАНЕ НА ДАННИ INFILE грешка 1064

  2. MSQL:Как да презапишем запис само ако новият е по-висок? иначе създайте нов запис

  3. командата mysqldump не работи?

  4. Вмъкване на данни от падащо меню в база данни с PHP

  5. sqljocky синхронно запитване към база данни