MySQL
-
12/11스파르타/TIL(Today I Learned) 2023. 12. 11. 15:55
1251. Average Selling Price 이 사이트의 문제를 풀 때 영어로 된 문제이다 보니 해석하고 설명 보면서 코딩을 하는데 설명만 보고서 코딩을 하니 오류가 나왔다. 실수를 돌이켜 보면 1. join 조건에서 product_id만 연결한 것이였다. 실제로 주어진 예시의 테이블을 보면 group by 로 묶어도 같은 product_id임에도 구매날짜에 따라 다르게 계산이 되어야한다. 이것을 고려하지 않고 코딩을 하여 첫번째 문제가 생겼다. join 조건에 u.purchase_date between p.start_date and p.end_date 를 추가하여 해결하였다. 2. 바로 ifnull을 생각치도 못했다. 일단 예시를 보면 생각 할 일이 없었기 때문이다. 하지만 실무를 하다보면 구매를..
-
MYSQL 소소한 팁스파르타/TIP 2023. 11. 28. 15:36
MYSQL에서는 ISNULL을 못쓴다 코딩테스트 연습을 하는 와중에 책에서 배운 ISNULL을 쓰면 되는데 자꾸 오류가 나서 구글에 검색해 보니 IFNULL을 써야 MYSQL에서 작동한다 날짜의 차이를 구하는 함수 : datediff() select문에서 날짜 두개 써서 -로 하고 있으면 절대 안나온다 현재의 시간을 구하는 함수 : now() datediff( now() , 뺴 줄 날짜) = 날짜의 차이를 구할 수 있다 IN과 REGEXP IN은 다중연산자로 OR의 의미를 가지고 있다 그래서 문제였던 '자동차 종류별 특정 옵션이 포함된 자동차 수 구하기'의 조건을 구하는 와중 자꾸 빈 공백의 데이터만 출력이 되었다. 분명 내가 아는 것이 맞고 조건도 맞게 썼는데 왜 안 나오지?라는 생각만 가득이었다 결국..