Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sekwencja liczb w MySQL

Ponieważ nie ma czegoś takiego jak xrange, można by użyć oddzielnej tabeli przechowywanej z liczbami całkowitymi (jak wcześniej odpowiedziałem) lub po prostu stworzyć procedurę składowaną do wykonania zadania:

DROP PROCEDURE IF EXISTS xrange;
DELIMITER //
CREATE PROCEDURE xrange(x INT, y INT)
BEGIN
  DECLARE i INT DEFAULT x;
  CREATE TEMPORARY TABLE xrange_tmp (c1 INT);
  WHILE i < y DO
    INSERT INTO xrange_tmp VALUES (i);
    SET i = i + 1;
  END WHILE;
END;
//

Użycie:

CALL xrange(-2,10);
SELECT c1 FROM xrange_tmp;
DROP TABLE xrange_tmp;

Powyższe będzie oczywiście wolniejsze niż tworzenie gotowej tabeli z liczbami całkowitymi. Jest jednak bardziej elastyczny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalowanie MySQL na CentOS 7

  2. PHP mysql_connect ustawiony wait_timeout

  3. zaktualizuj wartości kolumn z kolumną innej tabeli na podstawie warunku

  4. MySQL:licz różne wiersze dziennie

  5. Problem ze zmienną zwracaną w bash