반응형
MySQL classicmodels 데이터베이스를 사용하고 있습니다. 다음 쿼리는 잘 작동합니다 (where 절 참고).
select
customers.customerNumber as 'Customer ID',
customers.customerName as 'Customer Name',
count(orders.orderNumber) as 'Total Orders Placed'
from customers
left join orders on customers.customerNumber = orders.customerNumber
where customers.customerNumber > 200
group by
customers.customerNumber
order by
3 asc
그러나 다음은 오류가 발생합니다. 의도는 3 개 이상의 주문을 한 결과 행 집합에있는 고객 만 표시하는 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
select
customers.customerNumber as 'Customer ID',
customers.customerName as 'Customer Name',
count(orders.orderNumber) as 'Total Orders Placed'
from customers
left join orders on customers.customerNumber = orders.customerNumber
where count(orders.orderNumber) > 3
group by
customers.customerNumber
order by
3 asc
MySQL 오류 : 오류 코드 : 1111. 그룹 함수의 잘못된 사용
해결 방법
집계 함수 ( COUNT (), AVG (), SUM (),
등)는 계산시기로 인해 WHERE
절에 나타날 수 없습니다. 대신 HAVING
절에 속합니다.
select
customers.customerNumber as 'Customer ID',
customers.customerName as 'Customer Name',
count(orders.orderNumber) as 'Total Orders Placed'
from customers
left join orders on customers.customerNumber = orders.customerNumber
group by
customers.customerNumber
HAVING count(orders.orderNumber) > 3
order by
3 asc
참조 페이지 https://stackoverflow.com/questions/10560510
반응형
'MySql' 카테고리의 다른 글
MySQL OSX의 rails + MySQL : 라이브러리가로드되지 않음 : libmysqlclient.18.dylib (0) | 2021.02.12 |
---|---|
MySQL MYSQL / PHP에서 소수점 두 자리를 표시하는 방법은 무엇입니까? (0) | 2021.02.12 |
MySQL 복합 기본 키를 외래 키로 사용 (0) | 2021.02.11 |
MySQL 날짜가 datetime보다 오래된 MYSQL 선택 행 (0) | 2021.02.11 |
MySQL Java (Netbeans)를 사용하여 MySQL에 연결할 때 'Communications link failure The last packet sent ...'오류가 표시되는 이유는 무엇인가요? (0) | 2021.02.11 |
댓글