안녕하세요.
select 할때 count에만 where 를 쓸 수 있나요?
예를 들어
select sum(가격), count(랭킹) from A
라고 한다면, 가격은 전체를 가져오고. 랭킹은 100위 이내것만 카운트한다. 이런게 가능한가요?
A 테이블에
랭킹 가격
1 100
2 50
3 30
4 5
이렇게 있다면
가격은 전체의 합 즉 185를 가져오고 싶고, 랭킹은 2위 이내의 갯수를 카운트하고 싶다면, 어떻게 select 를 해야되는건가요?
select sum(전체), count(랭킹이 2위 이내인 것) where A 라고 하고싶은데요.
알려주시면 감사하겠습니다.
Comment 3
-
나는짱이야
2015.07.17 09:29
-
김짬주
2015.07.17 14:08
전 초보인데 이렇게 밖에 생각이 안나네용...~_~SELECT SUM(A.SALARY)AS SUM, COUNT(B.ENO) AS COUNTFROM EMPLOYEE A LEFT OUTER JOIN EMPLOYEE BON A.ENO = B.ENOAND B.ENO < 1005 -
DECLARE @A TABLE (랭킹 INT, 가격 INT)INSERT INTO @ASELECT 1, 100 UNION ALLSELECT 2, 50 UNION ALLSELECT 3, 30 UNION ALLSELECT 4, 5 UNION ALLSELECT 100, 0SELECT SUM(가격), COUNT(CASE WHEN 랭킹 < 100 THEN 1 END) FROM @A
group by 랭킹
having 랭킹 = 2
이렇게 하면되지 않을까요?