Closed wooyn730 closed 2 months ago
이전에 푼 문제들2 (4/16)
주의
동명 이름 개수 : group by name having count(name) > 1
a를 포함하는 이름: where name like '%a%'
중복 없는 이름 개수: count(distinct name)
04/18
내 코드
SELECT COUNT(*) FROM USER_INFO WHERE AGE >= 20 AND AGE <= 29 AND JOINED LIKE '2021%';
(정답이긴 함)
더 좋은 코드
SELECT count(USER_ID) as USERS FROM USER_INFO WHERE YEAR(JOINED) = '2021' and AGE BETWEEN 20 and 29
참고할 점
YEAR(컬럼명) = '연도'
컬럼명 BETWEEN 조건1 and 조건2
CASE WHEN/THEN ELSE END
04/19
OPTIONS LIKE "%열선시트%"
LIKE 키워드 까먹지 말기...
SELECT BOOK.CATEGORY, SUM(BOOK_SALES.SALES) AS TOTAL_SALES
FROM BOOK JOIN BOOK_SALES ON BOOK.BOOK_ID = BOOK_SALES.BOOK_ID
WHERE BOOK_SALES.SALES_DATE LIKE "2022-01%" GROUP BY BOOK.CATEGORY ORDER BY BOOK.CATEGORY ASC;
기억할 것
4/20
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')
이게 2000-03-21
SELECT I.NAME, I.DATETIME FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.DATETIME IS NULL ORDER BY I.DATETIME ASC LIMIT 3;
그냥 JOIN이 아니라 LEFT JOIN을 썼어야 했음 참고(JOIN 완전 정리 (INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN))
곱한거의 합
SELECT SUM(PRICE * SALES_AMOUNT) AS SALES FROM PRODUCT
걍 SUM 안에 곱해주면 됨
코드의 앞 두자리를 가져온다?
SELECT LEFT(PRODUCT_CODE, 2)
LEFT는 처음 보지만.. 일단 ㅇㅋ
현재까지 푼 문제 108문제 중 38문제!
정처기 봤으므로 이슈 클로즈
하지만 SQL 작성하는 건 안나왔다 하하
프로그래머스 MySQL