쿼리 질문입니다. 0 4 1,096

by kshap [SQLServer] [2015.03.24 15:08:22]


tableA 라는 테이블이 있고 컬럼으로는

글번호(기본키), 고객번호, 남긴날짜, 메모

있다고 할 때 한명의 고객이 메모를 남길때마다 INSERT 됩니다.

만약 모든 고객이 마지막으로 남긴 메모들만 SELECT 하려면 어떻게 해야하나여......?

by DarkBee [2015.03.24 15:11:59]

mssql에도 row_number() over() 구문이 있습니다.

 

select *

  from (

           select row_number() over ( partition by 고객번호 order by 글번호 desc ) rn, a.* from

tableA a

) a

WHERE rn = 1


by kshap [2015.03.31 12:56:11]

제가 답글을 써놓은줄 알았는데 아니네여ㅠㅠ

늦었지만 감사합니다!


by 창조의날개 [2015.03.24 16:06:35]

-- (고객번호+기본키)로도 INDEX가 잡혀 있다면
SELECT *
FROM tableA
WHERE 기본키 IN (SELECT MAX(기본키) FROM tableA GROUP BY 고객번호)
;

 


by kshap [2015.03.31 12:56:22]

답변 감사합니다!

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