시간 | 내용 |
---|---|
09:00-10:00 | 코드가타 |
10:00-10:30 | 발제 확인 |
10:30-12:00 | 오전 스크럼 및 팀 과제 분석 |
12:00-13:00 | 점심식사 |
13:00-14:00 | ADsP 강의 수강 |
14:00-15:00 | SQL 라이브 세션 |
15:00-18:00 | 팀 과제 데이터 분석 |
18:00-19:00 | 저녁식사 |
19:00-20:00 | ADsP 강의 수강 |
20:00-20:30 | 저녁 스크럼 |
20:30-21:00 | TIL 작성 |
21:00-23:00 | 부족한 부분 보충 |
문제
작성한 코드
SELECT
ugb.writer_id
, ugu.nickname
, SUM(ugb.price) as total_sales
FROM
used_goods_board ugb JOIN used_goods_user ugu ON ugb.writer_id = ugu.user_id
WHERE
ugb.status = 'DONE'
GROUP BY
ugb.writer_id
HAVING
`total_sales` >= 700000
ORDER BY
`total_sales`
;
WITH used_cte AS (
SELECT
writer_id
, SUM(price) AS sum_price
FROM
used_goods_board
GROUP BY
writer_id
, status
HAVING
sum_price >= 700000
AND status = 'DONE'
)
SELECT
u.user_id
, u.nickname
, c.sum_price AS total_sales
FROM
used_cte c JOIN used_goods_user u
ON c.writer_id = u.user_id
ORDER BY
3
;
solution = lambda num1, num2 : num1 // num2
solution = int.__floordiv__
# 예제1: 두 점을 나타내는 Point 클래스의 객체간 덧셈을 지원하는 클래스
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
if isinstance(other, Point):
return Point(self.x + other.x, self.y + other.y)
else:
raise ValueError(f"Unsupported operand type(s) for +: '{type(self)}' and '{type(other)}'")
def __str__(self):
return f"({self.x}, {self.y})"
point1 = Point(1, 2)
point2 = Point(3, 4)
print(point1 + point2) # 출력: (4, 6)
# 예제2: 비교 연산자 오버로딩 예제
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
if isinstance(other, Person):
return self.name == other.name and self.age == other.age
else:
return False
person1 = Person("Alice", 30)
person2 = Person("Bob", 30)
person3 = Person("Alice", 30)
print(person1 == person2) # 출력: False
print(person1 == person3) # 출력: True
def solution(num1, num2):
answer = num1 / num2
return int(answer)
def solution(num1, num2):
return divmod(num1, num2)[0]
기초 분석 팀 과제
EDA(탐색적 데이터 분석; Exploratory Data Analysis)
Error occurred during batch insert
(you can disable batch insert in order to skip particular rows).
Reason:
SQL Error [1264][22001]: Data truncation: Out of range value for column 'category_id' at row 1
1. 데이터 추출 및 탐색
DISTINCT
2. 데이터 필터링 및 조건부 검색
WHERE
, NOT
BETWEEN
: 범위 검색LIKE
: 패턴 검색IN
: 특정 값 목록 검색3. 데이터 집계 및 그룹화
GROUP BY
, HAVING
4. 통계량 계산
COUNT
, SUM
, AVG
, MIN
, MAX
5. 데이터 변환
JOIN
, UNION
, 서브쿼리
6. 데이터 정렬 및 분류
ORDER BY
7. 데이터 변형 및 계산
CASE WHEN
일별 판매금액
느낀점
What day of the month do people make the most purchases? and what time of the day?
주의 기준은 2020년 2월의 데이터를 최대한 많이 활용하기 위해 주의 시작을 일요일로 정했음
금액 합계는 소수점 첫째 자리에서 반올림
판매량에 유의미한 차이가 없는 것 같아서 다른 내용도 찾아보기로
사용자가 제품을 본 횟수
사용자가 카트에 제품을 담은 횟수
사용자가 카트에서 제품을 뺀 횟수
사용자가 제품을 구매한 횟수