MySQL에서 그룹당 행 번호를 생성하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-24 00:20:10
원래의
599명이 탐색했습니다.

How to Generate Row Numbers per Group in MySQL?

MySQL의 그룹당 행 번호

데이터베이스 관리 시스템에서 그룹 내 행 번호 지정을 이해하는 것은 데이터 분석 및 조작에 매우 중요합니다. MySQL에서는 크루 ID, 유형 등 특정 기준에 따라 행 번호를 생성하는 작업을 다양한 기술을 통해 수행할 수 있습니다.

해결 방법

행 번호를 생성하려면 승무원 ID와 유형의 각각의 고유한 조합에 대해 다음 MySQL 쿼리를 활용할 수 있습니다.

SELECT    id,
          crew_id,
          amount,
          type,
         ( 
            CASE type 
            WHEN @curType 
            THEN @curRow := @curRow + 1 
            ELSE @curRow := 1 AND @curType := type END
          ) + 1 AS rank
FROM      Table1 p,
          (SELECT @curRow := 0, @curType := '') r
ORDER BY  crew_id,type asc;
로그인 후 복사

여기서 쿼리:

  • Table1은 데이터가 포함된 원본 테이블을 나타냅니다.
  • @curRow 및 @curType은 각각 0과 빈 문자열로 초기화된 사용자 정의 변수입니다.
  • CASE 문은 유형에 따라 행 번호 매기기를 처리합니다. 유형이 @curType과 일치하면 행 번호(순위)가 1씩 증가합니다. 그렇지 않으면 @curRow를 1로 재설정하고 @curType을 현재 유형으로 업데이트합니다.
  • CASE 문의 1은 행 번호가 1부터 시작함을 보장합니다.

이 쿼리는 다음을 반환합니다. '순위'라는 추가 열로 행 번호가 추가된 원하는 출력입니다.

위 내용은 MySQL에서 그룹당 행 번호를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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