1. 테이블에서 전체의 100분의 1 즉, 1%만 보겠다는 쿼리문
1 2 3 4 5 6 | SELECT TOP(SELECT COUNT(*)/100 FROM Sales.CreditCard) CreditCardID FROM Sales.CreditCard WHERE CardType = 'Vista' ORDER BY ExpYear, ExpMonth | cs |
COUNT(*)는 행의 개수를 반환하는 함수이다.
2. 다른 예로 전체 상위 건수의 0.1%만 출력하는 쿼리문이다.
그럴경우 TOP(N)PERCENT 를 사용하면 된다.
1 2 3 4 | SELECT TOP(0.1)PERCENT CreditCardID FROM Sales.CreditCard WHERE CardType = 'Vista' ORDER BY ExpYear, ExpMonth | cs |
3. WITH TIES 옵션
마지막 출력값과 동일한 값이 있는데 N%가 넘더라도 출력하는 옵션에는 WITH TIES 옵션이 있다.
만약 내가 출력하고싶은 조건에 해당하는 값이 5개인데 0.1프로가 4개라면 5개째는 출력되지않을 것이다. 그럴때 사용한다.
1 2 3 4 | SELECT TOP(0.1)PERCENT WITH TIES CreditCardID, ExpMonth, ExpYear FROM Sales.CreditCard WHERE CardType = 'Vista' ORDER BY ExpYear, ExpMonth | cs |
'SQL' 카테고리의 다른 글
[MSSQL] 캐시된 실행계획에서 누락된 인덱스 정보를 가지고 있는 개체 찾기 (801) | 2020.09.21 |
---|---|
[MSSQL] 누락된 인덱스 찾기 (486) | 2020.09.21 |
SQL 변수 선언 및 사용 (2) | 2016.05.19 |
GROUP BY 및 HAVING 그리고 집계 함수 (2) | 2016.05.19 |
MSSQL 예제 데이터베이스 연결하기 Adeventureworks (2) | 2016.05.19 |
댓글