유저 조회 RANKING 수정
V1 --유저 조회 SELECT M.MID, M.LOGIN_ID, M.MPW, M.NAME, M.EMAIL, M.ADDRESS, M.GENDER, M.AGE, M.GRADE, M.CELL_PHONE, NVL(SUM(S.AMOUNT), 0) AS TOTAL, RANK() OVER (ORDER BY NVL(SUM(S.AMOUNT), 0) DESC,MIN(S.REG_DATE)) AS RANKING FROM MEMBER M LEFT JOIN SUPPORT S ON M.LOGIN_ID = S.LOGIN_ID GROUP BY M.MID, M.LOGIN_ID, M.MPW, M.NAME, M.EMAIL, M.ADDRESS, M.GENDER, M.AGE, M.GRADE, M.CELL_PHONE; 문제점 : TOTAL이 ..
2024. 2. 11.
TO_CHAR 함수
TO_CHAR 함수는 Oracle에서 숫자, 날짜 및 문자열 데이터를 문자열로 변환하는 데 사용됩니다. 이 함수는 다양한 형식의 데이터를 문자열로 변환할 수 있습니다. TO_CHAR(expression, format_mask) expression: 변환할 값입니다. format_mask: 문자열로 변환할 때 적용할 형식입니다. TO_CHAR 함수를 사용하면 날짜를 원하는 형식으로 변환하거나 숫자를 문자열로 변환할 수 있습니다. 예를 들어, 날짜를 'YYYY-MM-DD' 형식으로 표시하거나, 숫자를 특정 형식으로 변환할 수 있습니다. EX) SELECT M.MID, M.LOGIN_ID, M.MPW, M.NAME, M.EMAIL, M.ADDRESS, M.GENDER, M.AGE, M.GRADE, M.CELL..
2024. 2. 9.
여러 INSERT 문을 한 번에 실행하기
여러 개의 INSERT 문을 한 번에 실행하려면 Oracle에서 제공하는 INSERT ALL 문을 사용할 수 있습니다. 이를 통해 여러 개의 행을 한 번에 삽입할 수 있습니다. 다음은 INSERT ALL 문을 사용하여 여러 개의 행을 한 번에 삽입하는 예시입니다. INSERT ALL INTO employees (employee_id, first_name, last_name, email) VALUES (101, 'John', 'Doe', 'john@example.com') INTO employees (employee_id, first_name, last_name, email) VALUES (102, 'Jane', 'Smith', 'jane@example.com') INTO employees (employe..
2024. 2. 8.
RANK 함수, DENSE_RANK 함수
RANK 함수 RANK 함수는 동일한 값에 대해 동일한 순위를 부여하고 그 다음 값에 대해 다음 순위를 부여합니다. 예를 들어, 1위, 2위, 2위, 4위와 같이 중복된 순위가 발생할 수 있습니다. 중복된 값이 있을 때는 그 다음 순위는 중복된 값의 개수만큼 건너뛰게 됩니다. DENSE_RANK 함수 DENSE_RANK 함수는 동일한 값에 대해 중복된 순위를 부여하지 않습니다. 즉, 중복된 값이 있더라도 순위는 중복되지 않습니다. 예를 들어, 1위, 2위, 2위, 3위와 같이 중복된 순위가 발생하지 않습니다. 중복된 값이 있더라도 그 다음 순위는 중복된 값의 개수와 상관없이 1씩 증가합니다. 따라서, RANK 함수는 순위 사이에 빈 공간이 생길 수 있지만, DENSE_RANK 함수는 그렇지 않습니다. 또..
2024. 2. 6.