티스토리 뷰

MySQL 에서 통계 쿼리

GROUP BY - COUNT() 를 이용하면 특정 컬럼에 대한 통계값을 구할 수 있습니다.
 
 

GROUP BY - COUNT()

GROUP BY 를 사용하여 구하고자 하는 컬럼을 그룹화 하고,
COUNT() 함수를 사용하여 해당 컬럼이 얼마나 많은지 카운트합니다.
 
 
예시를 들어보겠습니다.

SELECT emotion_id, COUNT(*) as count
  FROM diary
 WHERE user_id = 11
   AND created_at BETWEEN '2023-01-01 00:00:00' AND '2023-01-07 23:59:59'
 GROUP BY emotion_id
 ORDER BY count DESC
 LIMIT 1;

해당 쿼리문은 다음과 같은 결과값을 구하기 위한 과정입니다.

  1. 다이어리 테이블로 부터 user_id = 11인 유저가
  2. 2023년 1월 1일부터 2023년 1월 7일까지
  3. 선택한 감정 중 가장 많이 선택된 감정을 찾습니다.

 


쿼리문에 대한 설명

1. GROUP BY 로 emotion_id를 기준으로 그룹화하고, COUNT() 함수를 사용해서 그룹화된 감정이 몇 번 선택되었는지 계산합니다.

이렇게 특정 컬럼 emotion_id 에 대해 그룹화하고 그에 대한 카운트를 알 수 있습니다.

 
2. ORDER BY 로 감정이 가장 많이 선택된 순서로 조회 결과를 정렬하고,
3. LIMIT 로 결과를 한 개만 반환하도록 합니다.



limit 로 하나의 결과만 조회하면, 드디어 최종적으로 원하는 데이터인 가장 많이 사용한 컬럼에 대한 값을 얻을 수 있습니다.
 
 

반응형

'database > mysql' 카테고리의 다른 글

[MySQL] MySQL root 비밀번호 초기화하기  (0) 2023.09.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함