스파르타/TIL(Today I Learned)
-
2024-01-22스파르타/TIL(Today I Learned) 2024. 1. 22. 23:05
더보기 SQL 코드카타 1164. Product Price at a Given Date(SQL) (where in 서브쿼리와 exists 서브쿼리, MAX, GROUP, case when, with, left join, 가장 최근 날짜기준으로 데이터 가져오기) https://leetcode.com/problems/product-price-at-a-given-date/description/ 기본적으로 모든 상품의 기본값은 10으로 정해두고 바뀌면 product_id를 통해 어떤 상품이 change_date를 통해 언제 , new_price얼마로 바뀌었는지 확인 할 수 있는데 2019-08-16을 기준으로 모든 상품의 가격을 출력하는 문제이다. SELECT p.product_id, p.new_price, p..
-
2024-01-20~2024-01-21스파르타/TIL(Today I Learned) 2024. 1. 22. 22:49
더보기 SQL 코드카타 619. Biggest Single Number(SQL)(with, count, max) https://leetcode.com/problems/biggest-single-number/description/ 가장 큰 단일 숫자를 출력하는 문제이다. 가장 큰 숫자가 단일숫자가 아니라면 null값으로 표시한다. #이렇게 하면 아마 잘 안될 듯하여 테스트 삼아서 해봤는데 SELECT m_s.num FROM MyNumbers m_s WHERE COUNT(m_s.num) = 1 #역시 Invalid use of group function 런타임에러 남 GROUP BY 쓰고 HAVING에서 COUNT 사용, 그리고 MAX는 살짝 왜 안되는 거지 싶긴 한데(사실 count도 비슷한 것 같긴 하지..
-
2024-01-19스파르타/TIL(Today I Learned) 2024. 1. 19. 23:23
더보기 SQL 코드카타 1174. Immediate Food Delivery II(SQL) (select 서브쿼리, inner join, 같은 테이블 with로 해서 join통해 조건으로 사용) https://leetcode.com/problems/immediate-food-delivery-ii/description/ 주문날짜와 원하는 배달날짜가 동일하면 즉시 주문이 되고 그렇지 않다면 예약이 되는데, 각 고객별로 첫 주문이 즉시 배달인 수 / 전체 고객들 수 로 하여 비율을 소수 둘째짜리 표시하도록 반올림하도록 하여 출력하는 문제이다. WITH min_order AS( SELECT d_m.customer_id, min(order_date) first_order_date FROM Delivery d_m ..
-
2024-01-18스파르타/TIL(Today I Learned) 2024. 1. 18. 22:38
더보기 SQL 코드카타 1193. Monthly Transactions I(SQL) (그룹으로 삼는 컬럼에 null값, Group과 join관련, 복잡 꼭 다시 복습, 시행착오 굉장히 많았음, 그룹으로 하는 것 중에 null도 있어 max와 sum고려(여기선 max로해야만 유효)) https://leetcode.com/problems/monthly-transactions-i/description/ 년도월별, 나라별 transaction수와 양, 승인된 transaction수와 양을 구하는 문제이다 1차 시도 WITH approved AS( SELECT t_s.id , DATE_FORMAT(t_s.trans_date,'%Y-%m') month, t_s.country , count(t_S.id) approv..
-
2024-01-17스파르타/TIL(Today I Learned) 2024. 1. 18. 00:36
오늘은 프로젝트가 다음날 발표인지라 마무리 짓는다고 파이썬으로 시각화 관련으로 이것저것 많이 하였는데 마찬가지로 정신없어서 TIL에 적을 용도로 정리해놓지는 못하였다 그리고 겨우겨우 밤에 코드카타 한문제 푼게 다이다 더보기 SQL 코드카타 1211. Queries Quality and Percentage(SQL)(case when 한 것을 나누기 계산하다 에러, round, case when, with, left join) https://leetcode.com/problems/queries-quality-and-percentage/description/ quality는 rating/position의 평균으로, rating이 3미만인 경우는 poor query로 판단, 그리고 poor query perce..
-
2024-01-16스파르타/TIL(Today I Learned) 2024. 1. 16. 23:39
더보기 SQL 코드카타 1251. Average Selling Price(SQL) (with, case when, round, left join, where, on조건으로 between사용) (굉장히 여러 번 시도한 쿼리) https://leetcode.com/problems/average-selling-price/description/ 특정 기간마다 가격이 달라지는 상품에 대하여 기간과 가격이 나와 있는 테이블과 상품이 팔린날짜와 수량이 적혀있는 테이블을 통해 상품이 팔린 평균 가격을 구하는 문제이다. SELECT s.product_id, ROUND(SUM(s.units * p.price)/SUM(s.units),2) average_price FROM UnitsSold s LEFT JOIN Prices..
-
2024-01-15스파르타/TIL(Today I Learned) 2024. 1. 15. 23:27
더보기 SQL코드카타 1280. Students and Examinations(SQL) (CROSS JOIN, INNER JOIN, 다중 JOIN) (나중에 복습 필수) https://leetcode.com/problems/students-and-examinations/ 각 학생 테이블, 과목 테이블, 시험테이블을 주고 각 학생이 과목별로 몇번씩 시험을 봤는지 학생 아이디, 학생 이름, 과목, 시험친 횟수로 하여 출력하는 문제이다 SELECT stu.student_id, stu.student_name, sub.subject_name, count(ex.student_id) attended_exams FROM Students stu CROSS JOIN Subjects sub LEFT JOIN Examinat..
-
2024-01-13~2024-01-14스파르타/TIL(Today I Learned) 2024. 1. 15. 23:15
더보기 SQL 코드카타 1068. Product Sales Analysis I(SQL) (inner join) https://leetcode.com/problems/product-sales-analysis-i/description/ 두 테이블을 가져와서 각 Sale_id에 대해 product_name, year, price를 출력하는 문제이다 SELECT p.product_name, s.year, s.price FROM Sales s INNER JOIN Product p ON s.product_id = p.product_id; 1581. Customer Who Visited but Did Not Make Any Transactions(SQL)(left join) https://leetcode.com/pr..