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

Как да намеря серийни номера без празнина в mysql?

Имах повече игра:-

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 за това тук:-

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да настроите кодирането за char колоните на таблиците в django?

  2. SQL Server срещу MySQL:СЪДЪРЖА (*,'FORMSOF(THESAURUS,word)')

  3. Предаване на стойност, извлечена от база данни на друга страница с помощта на php и mysql

  4. Изтриване на милиони редове в MySQL

  5. Не може да се получи броят на редовете и да се извлече, когато се използва MySQLi подготвен оператор