TIL 119

2024-04-17

Today 1. 프로젝트 목차 설정 및 자료 수집 2. SQL 코드카타 Today I Learned SQL * 쿼리 문이 좀 복잡해질 수 있는 조건이 있는 경우 어떤식으로 풀이를 해야할지 궁금해서 팀원분께 여쭤봤다. 보통 메인쿼리에서 쓰기에는 복잡한 조건들의 경우 서브쿼리 또는 with 문을 사용하여 먼저 테이블을 만들어 놓고, 그 후에 간단한 조건들은 메인쿼리에서 뽑아내어 사용한다. 순서로 보자면 서브쿼리 or with 문 > 메인쿼리 이렇게 알고리즘을 생각하고 있으면 될 듯! 대여기간까지는 구했으나 대여금액을 구하지 못하여 다른 쿼리를 참고! FROM 절에서 사용을 했길래 WITH 문으로 바꾸어 짜보려고 했으나 실행결과가 다르게 나왔다 코드는 동일하게 작성이 된 것 같은데, 이유를 알 수 없어 튜터님..

TIL 2024.04.17

2024-04-16

Today 1. 미니프로젝트 > 추출해낸 결과물을 가지고 어떤 분석을 해볼 수 있는지, 어떤 특이점이 있는지 예상해보기 2. SQL, 파이썬 코드카타 Today I Learned SQL 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 https://lyj-01.tistory.com/95 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능 lyj-01.tistory.com SELECT c.car..

TIL 2024.04.16

2024-04-15

Today 1. 미니 프로젝트 팀 인사 및 주제 선정 2. CSV 파일 전처리 Today I Learned DBeaver 에 CSV 파일 불러오기 > 제공 받은 CSV 파일이 형변화가 불가능했기 때문에 mysql 서버를 생성하여 작업해주었다! 정한 주제를 바탕으로 어떻게 데이터를 분석해줄지 상의 후 몇가지의 주제를 뽑아보았다. 요일별 주문건수 or 소비액 segment 별 주문이 많은 상품 category 별 수익률과 수익률 top-5 sub-category 주(states)별 주문자의 수, 총 구매액, 수익률 월별 매출, 판매량, 이익 데이터 분석 후 주제 선정 예정) 원본파일에서 잘못 입력된 데이터들을 데이터 전처리 과정에 넣어줄지? 원본파일에서 컬럼과 맞지 않는 데이터들이 입력된 부분들이 몇몇개가 ..

TIL 2024.04.15

2024-04-12

Today 1. SQL 코드카타 복습 2. 알고리즘 코드카타 복습 Today I Learned SQL SELECT 절에서 서브쿼리_IF 문 SELECT car_id , IF (car_id IN ( SELECT car_id FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE start_date = '2022-10-16' ), "대여중" , "대여 가능") VAILABILITY # +1 을 더했더니 오류 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY 1 ORDER BY 1 DESC 당일 대여 당일 반납에 꽂혀서 아묻따 날짜 옆에 +1 했더니 오류가 떴다.. IF (car_id IN ( SELECT car_id FROM CAR_RENTAL_C..

TIL 2024.04.12

2024-04-11

Today 1. ADsP 강의 (정형 데이터 마이닝) 2. 파이썬 코드카타 3. SQL 코드카타 Today I Learned SQL 입양 시각 구하기 https://lyj-01.tistory.com/90 입양 시각 구하기(2) #WITH RECURSIVE , SET함수 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 lyj-01.tistory.com 단순히 시간별 카운트를 해주면 되는줄 알고 이렇게 작성했는데.. SELECT HOUR(datetime) HOUR, COUNT(*) COUNT FROM ANIMAL_OUTS GROUP BY 1 ORDER BY 1 문제에서..

TIL 2024.04.11

2024-04-09

Today 1. ADsP 강의 2. SQL 코드카타 3. 파이썬 코드카타 Today I Learned SQL 리뷰를 가장 많이 작성한 회원의 리뷰를 조회 SELECT member_name, review_text, review_date FROM MEMBER_PROFILE p JOIN rest_review r ON p.member_id=r.member_id WHERE p.member_id = ( SELECT member_id, COUNT(review_id) FROM rest_review GROUP BY member_id ORDER BY 2 DESC LIMIT 1 ) 수월하게 where 절 서브쿼리 작성을 했다고 생각을 했는데 Operand should contain 1 column(s) 예~ 또다시 오류가 ..

TIL 2024.04.09

2024-04-08

Today 1. ADsP 통계분석 - 기초통계 2. SQL 코드카타 3. 알고리즘 코드카타 Today I Learned 꼭 필요한 몇가지만 작성(복습 목적) 어떤 문제가 발생했고, 어떤 것들을 시도했고, 어떻게 해결해서, 무엇을 새롭게 알게되었는지 SQL 구분자로 구분 한 뒤 문자열 이어주기 CONCAT_WS('구분자',문자열1,문자열2,...) FROM 절 서브쿼리를 WITH 문으로 SELECT flavor FROM ( SELECT * FROM first_half UNION SELECT * FROM july ) a GROUP BY flavor ORDER BY SUM(total_order) DESC LIMIT 3 이렇게 프롬절에 넣을 서브쿼리를 with 문으로 빼주면 됨! WITH total AS ( S..

TIL 2024.04.08

2024-04-05

오늘 진행한 일 1. SQL 코드카타 복습 2. 알고리즘 코드카타 복습 기억할 내용 SQL 만원 단위 가격대 별로 나누어주기 TRUNCATE(컬럼,-4) 만원 단위이기 때문에 정수자리 뒤에서 4번째를 떼어준다 *TRUNCATE 는 정해주는 자릿수만큼 버려준다 - 를 붙일 경우 정수뒷자리에서부터 버려준다 TRUNCATE(1234.567,1) >> 1234.5 TRUNCATE(1234.567,2) >> 1234.56 TRUNCATE(1234.567,-1) >> 1230 TRUNCATE(1234.567,-2) >> 1200 음식종류별로 즐겨찾기수가 가장 많은 식당 찾기 음식종류별로 그룹화를 했는데 즐겨찾기 수가 가장 많은 곳의 음식점을 출력해야했다 SELECT food_type, rest_id,rest_nam..

TIL 2024.04.05

2024-04-04

오늘 진행한 일 1. SQL 코드카타(61~65) 2. 알고리즘 코드카타(24~25) 기억할 내용 SQL 특정 위치 음식점의 평균 점수를 구하는 문제에서 음식점 이름과 음식타입에 랜덤한 값이 들어가는 것인가 해서 서브쿼리에~ 그룹바이 추가에 온 갖 쿼리를 짰는데 그냥 음식점별로 평균만 내주면 되는 문제였다.. 아직 GROUP BY 에 대한 개념이 제대로 잡히지 않았는지 다시 살펴봐야겠다 자동차 평균 대여 기간 구하기 https://lyj-01.tistory.com/73 자동차 평균 대여 기간 구하기 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL..

TIL 2024.04.04

2024-04-03

오늘 진행한 일 1. 이번주 TIL 다시 한번 보기 2. SQL 코드카타(56~60번) 기억할 내용 SQL INNER JOIN 을 여러번 할 경우 FROM appointment a INNER JOIN patient p ON a.pt_no = p.pt_no INNER JOIN doctor d ON a.mddr_id = d.dr_id 외래키 기준이 될 테이블을 제일 처음 적어주고 INNER JOIN 을 한 다음 연결해줄 테이블만 적어주면 된다 INNER JOIN = JOIN 같은 의미이므로 INNER 은 빼주어도 되지만 나중에 조금더 SQL이 익숙해졌을 때 제외하는거로 .. 테이블명에 별칭을 붙이는 작업도 AS 를 해주는 것이 보기 편하다 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 https:..

TIL 2024.04.03