웹앱프로젝트/Mysql
[오라클] 조회 순번 매기는 방법(rownum, row번호 출력), 조건별로 그룹 조회 방법(group by)
Minah Park
2022. 9. 6. 15:49
반응형
SELECT
sub.*,
ROWNUM AS cntnt
FROM
(SELECT
WORKER_NAME AS "workerName",
WORKER_TEL AS "workerTel",
TIMELINE AS "timeline",
COMUTE_TYPE AS "commuteType",
TO_CHAR(TIMELINE, 'YYYY-MM-DD') AS "dateInfo"
FROM
ATTENDANCE_INFO
WHERE IS_STATISTICS = 0
GROUP BY TO_CHAR(TIMELINE, 'YYYY-MM-DD'), WORKER_NAME, WORKER_TEL, TIMELINE, COMUTE_TYPE
ORDER BY WORKER_NAME, TO_CHAR(TIMELINE, 'YYYY-MM-DD')
) sub
ROWNUM 이라는 컬럼을 사용하면, 순번이 row의 번호가 붙어서 나오게된다.
GROUP BY 를 활용해서 조건으로 그룹지어 조회할 수 있다. 여기서 포인트는, 만약 SUM 이런걸 원한다면 select 에 컬럼명으로 sum(원하는 합산의 컬럼명) 으로 적고 group by 조건에는 넣어주지않아도된다. 하지만 다른 표시하고싶은 컬럼들은 모두 group by 에 넣어줘야한다. (이게 mysql 과 다른점이다.)
TO_CHAR 을 활용하여, 숫자나 날짜를 원하는 형태로 문자화 시켜서 출력할 수 있다.
쿼리 결과
반응형
반응형