> 데이터 베이스 > MySQL 튜토리얼 > 개수에 따라 SQL에서 행을 추가하고 순차적으로 번호를 매기는 방법은 무엇입니까?

개수에 따라 SQL에서 행을 추가하고 순차적으로 번호를 매기는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-06 14:15:41
원래의
535명이 탐색했습니다.

How to Append Rows and Sequentially Number Them in SQL Based on a Count?

SQL에서 행 추가 및 결과 번호 매기기

개수가 다음보다 큰 각 행에 대해 여러 행을 포함하도록 결과 집합을 확장하려면 어떻게 해야 합니까? 1, 순차적으로 번호를 매기면서? 예를 들어 값과 개수가 포함된 다음 표를 고려해 보세요.

Value Count
foo 1
bar 3
baz 2

원하는 출력은 다음과 같습니다.

Value Count Index
foo 1 1
bar 3 1
bar 3 2
bar 3 3
baz 2 1
baz 2 2

이러한 데이터베이스 간 호환성을 달성하려면 "숫자" 사용을 고려하세요. table:

SELECT value, count, number
FROM table
JOIN Numbers
ON table.count >= Numbers.number
로그인 후 복사

이 솔루션은 테이블의 최대 개수까지 일련의 숫자를 생성합니다. 원본 테이블을 Numbers 테이블과 결합함으로써 효과적으로 행을 반복하고 순차 인덱스를 할당합니다. 다음은 Microsoft SQL Server를 사용한 예입니다.

WITH Numbers AS (
    SELECT ROW_NUMBER() OVER (ORDER BY number) AS number
    FROM (
        SELECT 1 AS number
        UNION ALL
        SELECT number + 1
        FROM Numbers
        WHERE number < (MAX(count) OVER ())
    ) AS Outer
)
SELECT value, count, number
FROM table
JOIN Numbers
ON table.count >= Numbers.number
로그인 후 복사

위 내용은 개수에 따라 SQL에서 행을 추가하고 순차적으로 번호를 매기는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿