SQL에서 개수 기반 번호 매기기를 사용하여 행 복제
SQL에서는 발생 빈도가 다양한 데이터를 관리하는 것이 어려울 수 있습니다. 이 질문은 결과 행에 숫자 인덱스를 할당하여 지정된 개수를 기준으로 행을 반복하는 방법을 탐구합니다.
데이터베이스 독립적 솔루션
조인 작업을 숫자 테이블을 사용하면 Oracle, SQL Server, MySQL 등 다양한 데이터베이스 플랫폼에서 개수 값을 기반으로 행을 복제할 수 있습니다. PostgreSQL.
SELECT value, COUNT, number FROM table JOIN Numbers ON table.COUNT >= Numbers.number
설명
숫자 테이블은 연속된 숫자(예: 1, 2, 3, ...)를 포함하는 정적 테이블입니다. "COUNT >= number" 조건으로 숫자 테이블과 기본 테이블을 결합함으로써 숫자 테이블에서 사용 가능한 숫자보다 크거나 같은 값의 행을 복제합니다.
예
다음 테이블 데이터를 고려하세요.
value | count |
---|---|
foo | 1 |
bar | 3 |
baz | 2 |
쿼리를 적용하면 다음 출력:
value | count | number |
---|---|---|
foo | 1 | 1 |
bar | 3 | 1 |
bar | 3 | 2 |
bar | 3 | 3 |
baz | 2 | 1 |
baz | 2 | 2 |
이 결과에서 개수가 3인 "bar" 행은 해당 인덱스 1, 2, 3을 사용하여 세 번 반복되는 반면 "foo" 행은 나타납니다. 개수가 1이므로 한 번만.
위 내용은 개수를 기준으로 SQL 행을 복제하고 일련 번호를 할당하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!