>  Q&A  >  본문

MySQL의 순위 기능

<p>고객의 순위를 알아내야 합니다. 여기에는 요구 사항에 따라 해당 ANSI 표준 SQL 쿼리를 추가합니다. MySQL로 변환하는 것을 도와주세요. </p> <pre class="brush:php;toolbar:false;">SELECT RANK() OVER (PARTITION BY Gender ORDER BY Age) AS [성별별 파티션], 이름, 나이, 성별 FROM 개인</pre> <p>MySQL에 순위를 쿼리하는 기능이 있나요? </p>
P粉310754094P粉310754094423일 전405

모든 응답(2)나는 대답할 것이다

  • P粉757432491

    P粉7574324912023-08-24 20:59:09

    이것은 파티션의 밀도 수준을 행에 할당하는 일반적인 솔루션입니다. 사용자 변수를 사용합니다:

    으아악

    데이터 유형 변환 및 단락 문제를 처리하기 위한 변수 할당은 CASE 表达式内。这(理论上)解决了评估顺序问题。添加 IS NOT NULL에 있습니다.

    PS: 동점을 확인하는 모든 조건을 제거하여 파티션의 행 번호로 쉽게 변환할 수 있습니다.

    으아악

    db 데모 <>fiddle

    회신하다
    0
  • P粉218361972

    P粉2183619722023-08-24 09:36:05

    한 가지 옵션은 다음과 같은 순위 변수를 사용하는 것입니다.

    으아악

    (SELECT @curRank := 0) 部分允许变量初始化,而无需单独的 SET 명령.

    테스트 사례:

    으아악

    결과:

    으아악

    회신하다
    0
  • 취소회신하다