sql >> Database teknologi >  >> RDS >> Mysql

Hvordan finder man serienumre uden hul i mysql?

Havde mere af en leg:-

SELECT MIN(aFirstSerial), MAX(aLastSerial) FROM ( SELECT @FirstSerial:=IF(productSerialnumber = @LastSerial + 1, IF(@FirstSerial = 0, productSerialnumber, @FirstSerial), productSerialnumber) AS aFirstSerial, @RangeNum:=IF(productSerialnumber = @LastSerial + 1, @RangeNum, @RangeNum + 1) AS aRangeNum, @LastSerial := productSerialnumber AS aLastSerial FROM ( SELECT productSerialnumber FROM Product ORDER BY productSerialnumber ) Sub1 CROSS JOIN (SELECT @PrevSerial:=0, @RangeNum:=0, @FirstSerial:=0, @LastSerial:=0) Sub2 ) Sub3 GROUP BY aRangeNum

SQL Fiddle for det her:-

http://sqlfiddle.com/#!2/5cbc2/12



  1. Hvad er den rigtige måde at gemme disse data i et MySQL-skema?

  2. Betyder kolonnerækkefølgen noget i dine MySQL-tabeller?

  3. Hvorfor returnerer AES_DECRYPT null?

  4. Laravel-forespørgsel for at få resultater med mindst ét ​​element i en matrix?