일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- unity3dservival
- 유니티공부
- 시샵문법
- unity게임만들기
- unity3d
- 스파르타
- 유니티
- 시샵
- 스파르타코딩클럽
- 유니티3dui
- 유니티게임만들기
- C#문법
- c#코테
- c# 백준
- c#기본문법
- unity게임
- 티스토리챌린지
- 유니티서바이벌게임만들기
- Unity
- c# c#프로그래머스
- c#기초문법
- 오블완
- unity공부
- c#문제
- c#프로그래머스기초문법
- Console.WriteLine
- c#코딩기초트레이닝
- c#
- unity3d게임만들기
- 유니티상호작용
- Today
- Total
목록전체 글 (252)
나 개발자 진짜 되냐?
중복을 합치려는 생각을 하니 머리가 멍해졌었다.. 일단.. GROUP을 묶을지 말지를 항상 생각해야할거같다. 나는 이문제를 GROUP로 풀 생각을 전혀 못했는데 말이다.. USER_ID와 PRODUCT_ID 의 공통점을 생각해보았다. 둘이 쌍으로 붙어다니면서 똑같은게 둘 이상 있으면 출력해주라는 식이기 때문에 GROUP으로 둘을 묶었다. 그 다음의 특징에 대해 생각해야하는데 이 USER과 PRODUCT가 두개 이상 나오면 적어야하니깐 이 세트로 갯수를 세서 2개 이상이면 출력하도록 적는다. (*)를 통해 그룹 전체를 의미한다.
음.. 일단 두 테이블이기 때문에 JOIN을 사용했고 AVG라는 집계함수를 사용했기 때문에 GROUP BY를 사용해야 한다. GROUP BY로 공통적인 부분을 묶었고 GROUP를 쓰면 WHERE가 아닌 HAVING을 써야 하기 대문에 HAVING으로 조건을 건다!! ROUND는 반올림해주는 함수이다.집계함수와 같이 쓰며 ROUND(값, 소수점자리수) 안 쓰면 0으로 소수점이 잘린 정수가 출력쓰게 되면 숫자만큼 나오게 된다. 여기서는 셋째자리에서 반올림이라고 했으니 결국 둘째자리에서 멈추게 된다.그래서 2를 써주었다. 정수 반올림은마이너스를 써준다.-1을 하게 되면 1의 자리에서 반올림해주게 된다. 128 -1 이면 130 이 되는것이다. 128 -2 이면 100 이 되는 것이다.
음 ..일단 두 테이블을 연결시킬 생각으로 JOIN을 사용하였는데.... 우연히 또 이런 답을 보았습니다. 아주 간단하고 왜 조인을 쓰지않고도 풀었을까? 했는데 문제에서 보니 외래키여서 이렇게 조인을 쓰지않아도 연결이 가능했습니다.. 내가 왜 외래키만 생각하고 써볼 생각을 못했을까.. 싶군요 JOIN을 연습했으니..그걸로 만족 합니다..
서브쿼리를 활용했어야 했다. 아직까지 내가 제대로 활용하지 못하는 거 같아 기분이 조금 이상하다. 서브쿼리에도 GROUP는 동일하게 사용해줘야 하는구나..
단 두줄!!!!!!!!!!!! 여기서 알아야하는건 중복 제거는 DISTINCT 인데 COUNT 에 쓸 땐 안에다가 써야한다.