240919 챌린지반

LIHA·약 10시간 전
0

내일배움캠프

목록 보기
54/54
post-thumbnail

일단 집계를 하기 위해선 그룹핑부터!

SELECT item, SUM(sales) AS total_sales
FROM cafe_sales
GROUP BY item
having total_sales >= 15000;
ORDER BY total_sales DESC;

MySQL 8은 ONLY FULL GROUP BY가 기본 설정이다

그래서 ROUP BY를 쓸 때 비집계 컬럼을 포함하는 것을 허용하지 않는다. 쿼리의 일관성과 정확성을 높이기 위해 도입된 규칙 중 하나.
그래서 집계 함수와 비집계 컬럼을 함께 사용하려면 GROUP BY가 꼭 필요!

COUNT(*)은 NULL도 세지만 써도 괜찮은 이유?

COUNT()는 NULL도 세지만, SALES 컬럼에 NULL을 넣지 않는 식으로 하면 된다. 그렇다면 왜 와일드카드를 쓰는걸까? 그냥 컬럼 이름 써주면 되지 않나?
-> COUNT(
)이 성능이 더 좋다. 특정 컬럼의 값을 확인하지 않고 행 자체만 카운트하기 때문!
MIN, MAX는

profile
갑자기 왜 춤춰?

0개의 댓글