리트코드 Curated SQL 70 중 Medium 1) case이용select stock_name, sum(case when operation = "BUY" then -price else price end ) as capital_gain_lossfrom Stocksgroup by stock_name 2) self join 이용with grouped as (select stock_name, operation, sum(price) as price from Stocks group by stock_name, operation order by stock_name, o..
리트코드 Curated SQL 70 중 Medium 1. 윈도우 함수 기본 구조() OVER ( [PARTITION BY ] [ORDER BY ] [ROWS/RANGE ]) 2. 주요 요소1) FUNCTION_NAME: SUM, AVG, ROW_NUMBER, RANK 등2) OVER : 윈도우 함수를 사용하는 것을 나타내며, 뒤에 윈도우 정의를 포함3) PARTITION BY : 선택사항, 데이터를 특정 그룹으로 나눔. 그룹별로 윈도우 함수가 계산 됨4) ORDER BY : 선택사항, 데이터를 정렬하여 계산 순서를 지정5) ROWS/ RANGE : 선택사항: 윈도우의 범위를 지정, 특정 행 또는 범위 내에서 계산 3. 마지막 버스 탑승객select person_namefrom (se..
프로그래머스 SQL 고득점 kit 14일차( String, Date 6문제) 1. 문자열 중간에 특정 문자 삽입 : INSERT(원본 문자열, 새 문자열을 삽입할 위치, 대체할 문자길이, 삽입할 문자열)- 위치는 1부터 시작,- 0: 기존문자열을 삭제하지 않고 삽입만 함- n: 해당 길이만큼 기존 문자열을 대체SELECT INSERT('01053422914', 4, 3, '-') AS result;# 010-22914## 534을 -로 대체- 조건에 맞는 사용자 정보 조회하기SELECT B.WRITER_ID, U.NICKNAME, CONCAT(U.CITY,' ',U.STREET_ADDRESS1,' ',STREET_ADDRESS2 ) AS 전체주소, INSERT(INSERT(TLNO,..
프로그래머스 SQL 고득점 kit 13일차( JOIN 5문제, String, Date 13문제) 1. 날짜에 단순히 + / - 를하면, 문자열을 정수변환해서 잘못 계산한다20220916 - 20220807 = 109 2. 날짜/시간의 계산1) 빼기- 날짜: DATEDIFFSELECT DATEDIFF('2022-09-16', '2022-08-07') AS days_difference;# 40- 시간: TIMESTAMPDIFF-- 두 날짜의 시간 단위 차이SELECT TIMESTAMPDIFF(HOUR, '2022-08-07', '2022-09-16') AS hours_difference; 2) 더하기: DATE_ADD (SQL표준) 또는 ADDATE(MYSQL)-- 10일 더하기SELECT DATE_ADD..
프로그래머스 SQL 고득점 kit 12일차( GROUP BY 1문제, JOIN 7문제 ) 1. ON에 AND 사용 가능- 여러 조건을 동시에 만족해야 하는 경우 사용(필요하지 않은 데이터 배제)- ON에 있는 경우, 조건이 두 테이블의 연결 기준으로 작용, WHERE에 있는 경우 모든 데이터를 연결한 후 필터링 2. 특정기간동안 대여 가능한 자동차들의 대여 비용 구하기- 2022-11-01에서 2022-11-30 동안 대여 가능한 차량 조회- 1번의 경우 중복이 발생할 수 있다. 합집합이 아닌 교집합인 2번 방법을 사용# 1번(START_DATE BETWEEN '2022-01-01' AND '2022-11-30')OR (END_DATE BETWEEN '2022-01-01' AND '2022-11-30'..
프로그래머스 SQL 고득점 kit 11일차( GROUP BY 1문제) 1. JOIN 시 ON 조건에 비트연산(&)을 활용하면 특정 조건에서 하나라도 포함하는 조건의 열을 가져올 수 있다.SELECT D.EMAIL, BIN(D.SKILL_CODE) AS SKILL_CODE, C.NAME, BIN(C.CODE) AS CODEFROM DEVELOPERS DLEFT JOIN SKILLCODES CON (D.SKILL_CODE & C.CODE) != 0- 출력 결과EMAILSKILL_CODENAMECODEJERAMI_EDWARDS@GREPP.CO110010000Python100000000JERAMI_EDWARDS@GREPP.CO110010000Java10000000JERAMI_EDWARDS@GREPP.CO110..
프로그래머스 SQL 고득점 kit 10일차( GROUP BY 8문제) 1. 문자열과 숫자열"km"등의 단위를 표기하기 위해 concat을 쓸 경우, 문자열이 되기 때문에 해당 컬럼을 기준으로 정렬할 경우 문자열 순서로 정렬이 되므로 주의한다.SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),"km") AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2),"km") AS AVERAGE_DISTANCEFROM SUBWAY_DISTANCEGROUP BY ROUTEORDER BY ROUND(SUM(D_BETWEEN_DIST),1) DESC
- Total
- Today
- Yesterday
- 아침
- 고득점 Kit
- opic
- 티스토리챌린지
- Python
- 오픽
- C언어
- 습관
- 프로그래머스
- 스크랩
- 기초
- 다이어트
- 루틴
- 경제
- SQL
- Ai
- 미라클모닝
- 실기
- 아침운동
- 빅데이터 분석기사
- IH
- 30분
- 오블완
- llm
- 줄넘기
- 운동
- ChatGPT
- 영어회화
- 뉴스
- 갓생
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |