[MySQL]특정 속성값을 가진 레코드 n개씩 출력 하는 방법 아시는 분 있을까요ㅜㅜ 0 2 1,043

by 팡우송 [MySQL] mysql [2020.09.17 00:46:13]


안녕하세요 학교 프로젝트로 대용량 데이터를 다룰 일이 있어 질문드립니다!

일단 상품 테이블이 있습니다.

상품테이블의 데이터는 총 550만개이고, 각 레코드는 2500여 종류의 카테고리 중 하나 값을 가지고 있는데요

데이터가 많아서 샘플데이터 세트를 만드려고 하는데

모든 카테고리를 n개씩 뽑을수가 있을까요?

예를들어 가방, 양말, 가전제품, 전자기기 카테고리가 있다하면

카테고리가 가방인 상품레코드 10개, 양말인 상품레코드 10개, ... , 해서 각 10개씩 뽑을 수 있는 그러한 방법이 있을까요?

by 마농 [2020.09.17 08:04:24]
SELECT *
  FROM (SELECT cd, nm, dt, ...
             , ROW_NUMBER() OVER(PARTITION BY cd ORDER BY dt DESC) rn
          FROM t
        ) a
 WHERE rn <= 10
;

 


by 팡우송 [2020.09.17 14:52:10]

감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입