MYSQL에서 RANKING(RANK & ROW_NUMBER) 구현하기

    오라클에서 특정값에 대한 RANKING을 구하는 방법은 너무나 간단하다.
    내장 함수 중 RANK 또는 ROW_NUMBER를 통해서 RANKING에 대해서 구할 수 있으면 두 함수의 차이는 비교값이 동일할 때 같은 등수를 동일하게 표기할지 아니면 차등을 두고 등수를 부여할지의 차이점을 가지고 있다.

    • RANK() : 비교값이 동일할 경우 같은 등수(RANK)를 부여
    • ROW_NUMBER() : 비교값이 동일할 같은 차등 등수(RANK)를 부여

    ORACLE – RANK()

    ORACLE – ROW_NUMBER()

    그렇다면 MYSQL에서는 내장 함수가 없기 때문에 개발자가 직접 구현을 해야 한다.

    MYSQL – RANK()

    다음처럼 구현을 하면 ROW_NUMBER()가 아닌 RANK() 함수와 동일한 결과를 반환합니다.
    동일한 값을 구하기 위해서 @LAST 변수를 선언하여 해당 비교값이 동일한 경우에는 해당 등수를 반환하여 동일한 등수를 부여 할 수 있도록 정의한다.

    MYSQL – ROW_NUMBER()

    다음처럼 구현을 하면 RANK()가 아닌 ROW_NUMBER() 함수와 동일한 결과를 반환합니다.
    정렬을 기준으로 무조건 등수를 증분시켜서 비교값이 동일한 경우에도 등수의 차등을 줄 수 있도록 정의하였다.

    전체적으로 주의할 점은 @RANK 값이 맨 마지막에 나와야지 해당 값의 정렬이 제대로 적용된다.

      우분투 APT 사용방법(패키지 관리 시스템)

      우분투 리눅스 서버에 소프트웨어 또는 패키지에 대한 설치 및 관리를 할 때 알아야 할 기본 메소드에 대한 정리입니다.
      우분투는 서버로도 사용을 하고 있지만, 최근에는 많은 분들이 데스크탑으로 사용을 하시니 여력이 되신다면 APT 기본메소드에 대해서는 알아 두시면 좋을 것 같습니다.
      1. 모든 패키지 업그레이드
        • apt-get -u upgrade
      2. 특정 패키지만 업그레이드하기
        • apt-get -u install PackageName
      3. 패키지 이름 검색하기
        • apt-cache search ^PackageName$
      4. 패키지 설명에 대한 검색
        • apt-cache search “Search Description”
      5. 패키지내에서 사용되는 파일이름 검색
        • apt-file search FileName
      6. 패키지에 대한 기본정보 확인
        • apt-cache show PackageName
      7. 패키지에 대한 상세정보 확인
        • apt-cache showpkg PackageName
      8. 패키지에 속한 파일들의 위치정보
        • apt-file list PackageName
      9. 패키지와 의존관계정보 확인
        • apt-cache depends PackageName
      10. 패키지 설치방법
        • apt-get install PackageName
      11. 설치된 패키지 삭제방법 1(설정파일 및 패키지 모두 삭제)
        • apt-get purge PackageName
      12. 설치된 패키지 삭제방법 2(패키지만 삭제)
        • apt-get remove PackageName