728x90
반응형
메신저로 DB작업 요청이 들어옵니다. 구글에 검색하고, 챗봇에게 질문하면서, 테스트를 진행합니다.
반응형
눈을 비벼봅니다. 수천건의 빈 ROW들이 보입니다. 이상하다... NULL 제거했는데?
728x90
공백인가!? TRIM 도 해보고 길이값도 체크해봅니다. 중구난방 제각각인 데이터 길이에, TRIM을 해도 줄어들지 않습니다.
데이터를 개별적으로 열어보니 NULL 데이터가 아니라, 줄바꿈이 들어간게 수천건이었습니다.
SELECT REPLACE(CONT,CHR(10),'') AS RE_CONT,
여차저차 결과를 도출합니다. 데이터를 추출해서 송부합니다.
작업 후 샘플을 글로 남깁니다.
Oracle에서 GROUP BY를 사용하여 A 컬럼으로 필터링하고, 각각의 A 컬럼 값에 대해 전체 데이터 중 5건씩 뽑는 쿼리를 작성할 수 있습니다. 이를 위해 ROW_NUMBER() 함수를 사용하여 각 행에 번호를 부여하고, 그 번호를 기준으로 5건씩 선택할 수 있습니다.
아래는 예시 쿼리입니다.
SELECT *
FROM (
SELECT
your_columns,
ROW_NUMBER() OVER (PARTITION BY A ORDER BY your_order_column) as rnk
FROM your_table
WHERE your_condition -- 필요한 조건 추가
)
WHERE rnk <= 5;
위의 쿼리에서 다음을 변경해야 합니다:
- your_columns: 선택하려는 컬럼들을 나열합니다.
- A: GROUP BY로 지정할 컬럼인 A를 사용합니다.
- your_order_column: ROW_NUMBER() 함수에서 정렬에 사용할 컬럼을 선택합니다.
- your_table: 데이터를 가져올 테이블의 이름을 지정합니다.
- your_condition: 필요한 조건을 추가합니다.
이 쿼리는 A 컬럼 값으로 그룹화하고, 각 그룹 내에서 your_order_column을 기준으로 정렬한 후에 각 행에 번호를 매깁니다. 그리고 각 번호가 5 이하인 행만 선택하여 반환합니다.
728x90
반응형
'study > TIP' 카테고리의 다른 글
html to image (0) | 2024.03.03 |
---|---|
한글주소 인코딩, url encode (1) | 2024.02.27 |
엑셀 여러 셀에 대한 입력 체크 (0) | 2024.02.21 |
ORACLE 기간별 통계 : 일간, 주간, 월간 (0) | 2024.02.21 |
MYSQL GROUP_CONCAT 이후 여러 컬럼으로 나누기 (0) | 2024.02.16 |