안녕하세요 시퀄 늅늅 개발자입니다 ㅜ.ㅜ
현재 하고 있는 쿼리 중,, 속도가 느려서 변경하려는데 마땅히
어떻게 변경해야할지 잘 모르겠어서 문의 드립니다.
ㅇ아래의 같은 테이블 형태의 값 중에서
Trim 값 중에서 recent desc, cnt desc 한 값 딱 1개 만 ...뽑아 오고 싶습니다 ㅜㅜ
현재는 그냥 trim 을 C# 으로 받아서 select 문으로 구성하여 뽑고 있는데..
sql 쿼리 문으로 한번에 할 수 있는 방법 있을까요??..
group by 는 trim으로 해야하며, order by 절은 recent , cnt로 하려합니다.
trim | word | recent | cnt |
abc | a bc | 19 | 41 |
abc | ab c | 1 | 2 |
abc | abc | 0 | 3 |
abc | a b c | 0 | 3 |
Comment 1
-
nowaday_
2014.03.05 14:06
해결 점 찾았습니다
Inner join 사용
원본 테이블 값과 / Row_Number() over (partition by trim order by recent desc , cnt desc) as partitionnumber 필드를 추가한 원본 테이블을
조인하여 조인 조건에 partitionnumber =1 이면서 trim 이 같은 것을 찾으면 되는것 같습니다
이보다 더 간편한 쿼리가 있으시면 알려주시면 감사하겠습니다~!!!