에서 행으로 다양한 숫자를 얻는 것이 매우 어렵다는 것을 알았습니다 MySQL
.
예를 들어 1-5의 범위는 다음에 의해 달성됩니다.
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
결과 :
1 2 3 4 5
0-99의 경우 두 개의 0-9 테이블을 교차 조인 할 수 있습니다.
CREATE TABLE nums as
SELECT 0 as num
UNION
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
UNION
SELECT 6
UNION
SELECT 7
UNION
SELECT 8
UNION
SELECT 9
;
Select n.num*10+nums.num v
From nums n cross join nums
나는이 모든 것을 작성 UNION
하고 코드를 축소하는 방법을 찾고 피곤 합니다.
MySQL이나 SQL 구문에서 골프를 하는 방법 (예 : 0-1,000,000 범위)에 대한 아이디어가 있습니까?
추가 포인트 가 제공됩니다 :
- 단일 진술
- 절차 없음
- 변수 없음
- DDL 문 없음
- DQL 문만
generate_series()
. 여기에 몇 가지 사용 예가 있습니다.