본문 바로가기
반응형

top-n2

[Mssql/Sqlserver] Top N with ties 이전에 포스팅에서 mysql 기준 limit 을 설명하면서 sqlserver 에서의 Top N 에 대해서 잠깐 얘기한 적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. sqlserver 에서 상위 몇개를 뽑을땐 Top n을 사용하는데 옵션으로 TOP WITH TIES 를 추가할수 있다. TOP 과 동일하게 상위 N개의 데이터를 조회하지만 동일한 데이터가 있을경우엔 함께 출력이 된다. 또한 TOP WITH TIES를 사용하기 위해서는 ORDER BY 절이 반드시 함께 와야 한다. 동일한 데이터는 ORDER BY절 뒤의 오는 컬럼이 기준이 된다. id cnt a 1 a 1 b 2 만약 top만 사용할 경우 select top 1 id, cnt from table order by id, cnt id .. 2023. 11. 1.
rownum 과 limit 의 차이 dbms에서 많이 사용되는 쿼리중에 특정 행의 갯수 반환을 위해 사용하는 구문이 있다. mssql 에서는 top-n 을 사용하지만 rownum과 limit 구문을 많이 봤을것이다. 둘의 차이를 알아보도록 할것이다. 결론만 먼저 말하면 다음과 같다. ROWNUM함수는 결과 레코드에 대한 순서의 번호를 반환한다. LIMIT 절은 출력되는 레코드의 개수를 제한 할 때 사용한다. 둘의 차이를 좀더 설명하면 limit 은 정렬 연산까지 모두 완료한 후에 최종 레코드의 갯수를 제한하는것이고 (마무리 완료 후), rownum은 모든 연산을 하기 이전에 레코드 순서를 기준으로 출력을 제한하는 것이다(그냥 위에서부터 보여주는 것). 2023. 4. 14.
반응형