- N:1
- 트리
- stack
- update
- DB
- 뷰
- drf
- Article & User
- Tree
- 그리디
- outer join
- Django
- count
- Queue
- 통계학
- migrations
- M:N
- distinct
- regexp
- 쟝고
- Vue
- 큐
- 백트래킹
- ORM
- create
- 완전검색
- delete
- SQL
- 이진트리
- 스택
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록전체 글 (425)
데이터 분석 기술 블로그

SolutionSELECT *FROM tipsWHERE total_bill > (SELECT AVG(total_bill) FROM tips); 이 문제는 WHERE 절에는 집계함수를 사용하면 안 된다는 조건 때문에 검색을 해야 했다. HAVING 절을 사용하려면 GROUP BY가 같이 있어야 하는데 이 문제에서는 GROUP BY를 사용할 필요가 없어서 그럼 어떻게 평균값을 구할지 검색했다. 저렇게 쿼리 구문안의 쿼리 느낌으로 작성하면 된다.

SolutionSELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, IF (DATEDIFF(END_DATE, START_DATE) + 1 >= 30, '장기 대여', '단기 대여') AS RENT_TYPEFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYWHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'ORDER BY HISTORY_ID DESC; 일단 IF 절을 처음 사용해 봤다. 사용하는 방법은 간단하다. IF(조건문, 조건 참..

SELECT A1.machine_id, ROUND(AVG(A2.timestamp - A1.timestamp), 3) AS processing_timeFROM Activity A1INNER JOIN Activity A2ON A1.machine_id = A2.machine_id AND A1.process_id = A2.process_idWHERE A1.activity_type = 'start' AND A2.activity_type = 'end'GROUP BY A1.machine_id; SolutionSELECT A1.machine_id, ROUND(AVG(A2.timestamp - A1.timestamp), 3) AS processing_tim..

SolutionSELECT CITY, LENGTH(CITY) AS city_lengthFROM STATIONORDER BY LENGTH(CITY) ASC, CITY ASCLIMIT 1;SELECT CITY, LENGTH(CITY) AS city_lengthFROM STATIONORDER BY LENGTH(CITY) DESC, CITY ASCLIMIT 1; 어떻게 제일 짧은 것과 제일 긴 것을 출력할까 모르겠었다. 그리고 두 개의 결과로 출력이 가능하다는 것도 몰랐다. 알았으면 쉽게 풀었을 것 같다.

SolutionSELECT SUBSTR(MIN(order_purchase_timestamp), 1, 10) AS first_order_date, SUBSTR(MAX(order_purchase_timestamp), 1, 10) AS last_order_dateFROM olist_orders_dataset

SolutionSELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%네비게이션%'ORDER BY CAR_ID DESC;

SolutionSELECT W1.idFROM Weather W1JOIN Weather W2ON DATEDIFF(W1.recordDate, W2.recordDate) = 1WHERE W1.temperature - W2.temperature > 0; 하나의 테이블을 JOIN을 할 수 있다는 것을 몰랐다. 이름을 두 가지를 다르게 지정하고 JOIN을 하면 된다. DATEDIFF는 두 날짜 간의 차이를 계산할 때 사용하는 함수다. 이 함수는 두 날짜 사이의 일수 차이를 반환한다. 두 날짜를 비교하여 날짜 차이(일수)를 반환합니다.반환되는 값은 정수로, 첫 번째 날짜가 두 번째 날짜보다 앞서면 양수를, 반대로 뒤에 있으면 음수를 반환합니다.주로 날짜 간의 간격을 계산하거나, 특정 날짜의 이전 또는 이후의 날짜를..