집 >데이터 베이스 >MySQL 튜토리얼 >SQL만 사용하여 MySQL에서 숫자 범위를 생성하는 방법은 무엇입니까?
MySQL에서 숫자 시퀀스 생성
MySQL 쿼리를 사용하여 일련의 연속 숫자를 생성하는 것은 다양한 방법으로 수행할 수 있습니다. 그러나 MySQL만 사용하는 컬렉션 기반 솔루션의 경우 다음 쿼리를 고려하세요.
<code class="language-sql">INSERT INTO myTable (nr) SELECT SEQ.SeqValue FROM ( SELECT (HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue FROM ( SELECT 0 SeqValue UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 ) ONES CROSS JOIN ( SELECT 0 SeqValue UNION ALL SELECT 10 UNION ALL SELECT 20 UNION ALL SELECT 30 UNION ALL SELECT 40 UNION ALL SELECT 50 UNION ALL SELECT 60 UNION ALL SELECT 70 UNION ALL SELECT 80 UNION ALL SELECT 90 ) TENS CROSS JOIN ( SELECT 0 SeqValue UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300 UNION ALL SELECT 400 UNION ALL SELECT 500 UNION ALL SELECT 600 UNION ALL SELECT 700 UNION ALL SELECT 800 UNION ALL SELECT 900 ) HUNDREDS ) SEQ;</code>
이 쿼리는 일련의 숫자를 생성하기 위해 중첩된 하위 쿼리 집합을 사용합니다. 구체적으로:
이러한 하위 쿼리를 교차 결합하여 가능한 모든 시퀀스 조합을 얻습니다. 최종 SEQ 하위 쿼리는 이러한 값을 결합하여 원하는 시퀀스를 생성합니다.
<code>SeqValue = HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue</code>
예를 들어 0부터 999까지의 시퀀스를 생성하려면 쿼리는 다음 출력을 반환합니다.
<code>nr 0 1 2 3 4 5 ... 998 999</code>
위 내용은 SQL만 사용하여 MySQL에서 숫자 범위를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!