반응형
이전에 포스팅에서 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 | cnt |
a | 1 |
이 나오지만 with ties를 추가하면
select top 1 with ties id, cnt from table order by id, cnt
id | cnt |
a | 1 |
a | 1 |
동일한 값들은 같이 출력이 된다.
참고 포스팅
https://thenicesj.tistory.com/534
rownum 과 limit 의 차이
dbms에서 많이 사용되는 쿼리중에 특정 행의 갯수 반환을 위해 사용하는 구문이 있다. mssql 에서는 top-n 을 사용하지만 rownum과 limit 구문을 많이 봤을것이다. 둘의 차이를 알아보도록 할것이다. 결
thenicesj.tistory.com
반응형
'IT > Database' 카테고리의 다른 글
[Oracle] 테이블 명 조회 쿼리 / 뷰 조회 쿼리 / 프로시저 / 시퀀스 조회 쿼리 (43) | 2023.11.03 |
---|---|
그룹함수 (GROUP BY, ROLLUP, CUBE, GROUPING-SET, GROUPING) (44) | 2023.11.02 |
[Oracle] 에러 표시 방법(ORA-00000) (sqlca.sqlcode) (42) | 2023.10.31 |
[Oracle] SELECT .... FOR UPDATE 문 (43) | 2023.10.29 |
[Oracle] NTILE 함수 (44) | 2023.10.28 |
댓글