SQL SELECT를 사용하여 양의 정수 생성
첫 번째 N개의 양의 정수로 구성된 결과 집합을 얻어야 하는 필요성은 데이터 조작 작업에서 자주 발생합니다. 그러나 카운트 테이블이 제공되지 않으면 표준 SQL SELECT 문에서 문제가 될 수 있습니다.
표준 SQL 솔루션 시도
초기에는 이러한 항목을 검색하는 것이 가능할 것처럼 보일 수 있습니다. SELECT 문을 사용하여 직접 정수. 그러나 대부분의 주요 SQL 시스템에는 연속된 정수 집합을 생성하는 기본 제공 메커니즘이 부족합니다. 결과적으로 표준 SELECT 문에만 의존하면 원하는 결과를 얻지 못할 수 있습니다.
특정 MySQL 접근 방식
안타깝게도 MySQL은 이와 관련하여 주목할만한 단점을 보여줍니다. Oracle의 "CONNECT BY" 또는 PostgreSQL의 "generate_series"와 같은 기능을 제공하는 다른 시스템과 달리 MySQL에는 이 작업을 위한 명시적인 메커니즘이 부족합니다.
대체 솔루션
MySQL의 이러한 제한 사항을 고려할 수 있습니다. 해결 방법:
예제 MySQL 스크립트
다음 스크립트는 양의 정수를 생성하기 위해 필러 테이블을 생성하고 사용하는 예를 제공합니다.
CREATE TABLE filler ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT ) ENGINE=Memory; CREATE PROCEDURE prc_filler(cnt INT) BEGIN DECLARE _cnt INT; SET _cnt = 1; WHILE _cnt <= cnt DO INSERT INTO filler SELECT _cnt; SET _cnt = _cnt + 1; END WHILE; END $$ -- Call the procedure to fill the table with integers CALL prc_filler(10); -- Select the desired number of integers SELECT id FROM filler LIMIT 5;
이 스크립트는 " id" 열을 삭제하고 처음 10개의 양의 정수로 채웁니다. 그런 다음 SELECT 문을 사용하여 필요에 따라 원하는 수의 정수를 검색할 수 있습니다.
위 내용은 SQL SELECT 문을 사용하여 일련의 양의 정수를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!