SQL
퍼센트에이지로 select 하는 sql 구문
Jundol
2016. 5. 19. 15:38
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 |