집 >데이터 베이스 >MySQL 튜토리얼 >지정된 매개변수 사이에서 SQL의 숫자 범위를 생성하는 방법은 무엇입니까?
SQL에서 일련번호 시리즈 생성
이 문서에서는 SQL에서 지정된 범위 내에서 일련의 숫자를 생성하는 방법을 보여줍니다. 1000부터 1050까지의 숫자 목록이 각각 별도의 행에 필요하다고 상상해 보세요.
방법 1: VALUES 및 교차 조인
한 가지 기술은 VALUES
절을 사용하여 임시 숫자 집합을 만들고 교차 조인을 통해 결합합니다.
<code class="language-sql">WITH x AS (SELECT n FROM (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) v(n)) SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) FROM x ones, x tens, x hundreds, x thousands ORDER BY 1;</code>
이렇게 하면 0-9999의 숫자가 생성됩니다. VALUES
절을 조정하면 출력이 원하는 범위로 제한됩니다.
방법 2: 개별 자릿수표
보다 명시적인 접근 방식은 일, 십, 백, 천 자리에 대해 별도의 테이블을 사용합니다.
<code class="language-sql">SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n), (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n), (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n), (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) thousands(n) ORDER BY 1;</code>
이는 숫자 생성 프로세스를 정밀하게 제어할 수 있으며 더 넓은 범위로 쉽게 확장할 수 있습니다. 두 가지 방법 모두 다양한 요구 사항에 맞춰 SQL에서 숫자 시퀀스를 생성하기 위한 유연한 솔루션을 제공합니다.
위 내용은 지정된 매개변수 사이에서 SQL의 숫자 범위를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!