내가 대답하려고하는 질문은 '각 사람이 만든 매출이 60 명 이상입니까?'입니다.SQL - 그룹화 COUNT 결과
는내 테이블 (판매 $) :
SaleID name salevalue
1 Steve 100
2 John 50
3 Ellen 25
4 Steve 100
5 Mary 60
6 Mary 80
7 John 70
8 Mary 55
9 Steve 65
10 Ellen 120
11 Ellen 30
12 Ellen 40
13 John 40
14 Mary 60
15 Steve 50
내 코드는 다음과 같습니다
select name,
COUNT(*) as 'sales above 60'
from Sales$
group by salevalue, name
having salevalue >= 60;
주는 :
Ellen 1
John 1
Mary 2
Mary 1
Steve 1
Steve 2
정보는 모두가 그 마리아에 & 스티브 올바른지 3 개의 판매, 그러나 나는 그들을 지목하는 명령에 의해 강제된다.
아이디어가 있으십니까? 나는 방금 잘못 돌았다고 확신한다.
제거'salevalue' (전구 순간 게시 후) 당신의 GROUP BY에서. –
GROUP BY에서'salevalue'를 삭제하면'Msg 8121, Level 16, State 1, Line 5 오류가 발생합니다. 'Sales $ .salevalue'열은 집계 함수 나 GROUP에 포함되어 있지 않기 때문에 HAVING 절에서 유효하지 않습니다. BY 절. ' 'HAVING' 문을 달래기 위해서는 salevalue가 포함되어야합니다. – PJC83
예,하지만 그 HAVING 절을 사용하여 달성하려는 것은 무엇입니까? – jarlh