목록group by (3)
Seung's Learning Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vMUtS/btsFegaLKqC/UvagvxGHknpenOyMtDkqM1/img.png)
소요시간 : 19분 사용한 풀이법 : SET, 서브쿼리, GROUP BY 풀이 과정 1. 0-23시까지 모든 시간을 표시하기 위한 @hour 변수 선언 2. -1로 초기값을 준 뒤, +1을 해가며 hour이 23이 될 때 까지 진행 3. 서브쿼리에선 datetime의 시각이 hour와 동일한 경우에 그룹화 하여 카운트를 진행 작성 코드 set @hour := -1; select (@hour := @hour+1) as HOUR, ifnull((select count(animal_id) from animal_outs where hour(datetime) = @hour group by hour),0) as COUNT from animal_outs where @hour < 23 order by 1 작성 코드 처..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1bXpI/btsE92khQld/cHUfoQY0tyvTf0JOgWuWb1/img.png)
SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE),2) AS SCORE FROM REST_INFO A JOIN REST_REVIEW B ON A.REST_ID = B.REST_ID WHERE A.ADDRESS LIKE "서울%" GROUP BY B.REST_ID ORDER BY SCORE DESC, A.FAVORITES DESC 소요시간 : 14분 사용한 풀이법 : JOIN, GROUP BY 풀이 과정 1. 두 테이블을 REST_ID를 통해 JOIN 2. 식당 주소가 서울로 시작하는 곳을 조건으로 거르기 3. 같은 식당끼리 그룹화 4. 해당 식당의 점수들을 평균내기 5. ROUND()함수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DNw4I/btsE6BHgKxy/s39XBKAvbGoVSVj3ddUg20/img.png)
소요시간 : 8분 문제 유형 : SELECT, GROUP BY 풀이 과정 1. USER_ID와 PRODUCT_ID로 그룹화 2. 동일한 요소들끼리 묶이게 됨 3. HAVING을 통해 USER_ID든 PRODUCT_ID든 그 수가 2 이상인 것들을 탐색 작성 코드 SELECT USER_ID,PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID,PRODUCT_ID HAVING COUNT(PRODUCT_ID)>1 ORDER BY USER_ID ASC, PRODUCT_ID DESC; 피드백 GROUP BY의 실행이 정확히 어떤 식으로 이루어지는지 잘 몰라서 집계함수를 써야되는 것을 알고있음에도 불구하고 좀 헤맸음. 다른것들은 몰라도 중요한 구문들은 확실이 이해하고 암기해야함을 또 다시..