>데이터 베이스 >MySQL 튜토리얼 >지정된 매개변수 사이에서 SQL의 숫자 범위를 생성하는 방법은 무엇입니까?

지정된 매개변수 사이에서 SQL의 숫자 범위를 생성하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-20 03:21:10268검색

How to Generate a Range of Numbers in SQL Between Specified Parameters?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.