당신이 결과 집합에 카운터를 추가, 잘
- 이
YourTable
에서 모든 행을 선택하고 일을 할 것 재귀 CTE
를 사용하여 SQL Server를 사용하는 가정. 주어진 열에
- 같이 Recurse 카운터가
col2
SQL 문
;WITH q AS (
SELECT col1, cnt = 1
FROM YourTable
UNION ALL
SELECT q.col1, cnt + 1
FROM q
INNER JOIN YourTable yt ON yt.col1 = q.col1
WHERE cnt < yt.col2
)
SELECT col1
FROM q
OPTION (MAXRECURSION 0)
테스트 스크립트는 제공하지 않은 것처럼
;WITH YourTable(col1, col2) AS (
SELECT 'apple', 4
UNION ALL SELECT 'melon', 1
UNION ALL SELECT 'banana', 2
)
, q AS (
SELECT col1, cnt = 1
FROM YourTable
UNION ALL
SELECT q.col1, cnt + 1
FROM q
INNER JOIN YourTable yt ON yt.col1 = q.col1
WHERE cnt < yt.col2
)
SELECT col1
FROM q
OPTION (MAXRECURSION 0)
오, 하느님. 그들이 지금 한 것은 무엇입니까 – bernie
어떤 SQL 엔진입니까? MySQL은? SQL 서버? 신탁? DB2? – mellamokb
"그룹 해제"기능 ... – Glenn