sql >> Databáze >  >> RDS >> Mysql

Jak najít sériová čísla bez mezery v mysql?

Měl více hraní:-

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 pro to zde:-

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



  1. součet mysql s ID řádků

  2. Jak opravit:„SQLServerAgent aktuálně neběží…“

  3. Obrázky jako odkazy v databázi MySQL?

  4. Chyba:mysqladmin:obnovení se nezdařilo; chyba:'Neznámá chyba'