- DB
- Queue
- migrations
- SQL
- distinct
- 쟝고
- 통계학
- drf
- stack
- regexp
- Tree
- Vue
- 백트래킹
- N:1
- 그리디
- create
- 큐
- ORM
- 트리
- outer join
- count
- M:N
- 스택
- 완전검색
- Django
- Article & User
- update
- 뷰
- 이진트리
- delete
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록분류 전체보기 (300)
데이터 분석 기술 블로그
SolutionSELECT seller_id, COUNT(DISTINCT order_id) AS ordersFROM olist_order_items_datasetGROUP BY seller_idHAVING COUNT(DISTINCT order_id) >= 100; 처음에는 WHERE 절을 사용해서 COUNT를 사용하려고 했는데 계속 오류가 났다. 찾아보니 WHERE은 집계 함수를 사용할 수 없고 개별 행에 대한 조건을 필터링하는 데 사용된다. 집계 함수를 사용하려면 HAVING 절을 사용해야 한다.HAVING 절에 대한 내용은 2024.08.27 - [SQL/SQL 개념] - HAVING 이걸 참고하자. 또 DISTINCT 없이 사용했었는데 '레코드 개수가 다릅니다'라고 틀렸다. 한 주문 안에 여러 상..
SolutionSELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python'OR SKILL_2 = 'Python'OR SKILL_3 = 'Python'ORDER BY ID ASC;
SolutionSELECT Product.product_name, Sales.year, Sales.priceFROM SalesLEFT JOIN ProductON Sales.product_id = Product.product_id;
SolutionSELECT CITY, STATEFROM STATIONWHERE LAT_N > 0AND LONG_W > 0;
SolutionSELECT year, UPPER(SUBSTRING(city, 1, 3)) AS cityFROM gamesWHERE year >= 2000ORDER BY year DESC; 일단 문제를 좀 잘 읽어야 할거 같다. 2000년도 이후 데이터만 추출해야 하는데 그걸 모르고 계속 제출했다가 테스트케이스 9개가 계속 틀리는 상황이 발생했다. 앞에서 3글자만 추출하도록 하는 SUBSTRING 함수를 사용했다. 사용하는 방법은SUBSTRING(열 이름, 시작하는 글자, 추출해야하는 글자 개수) 이렇게 사용하면 된다. 또, 도시 이름은 대문자로 출력되어야 한다고 했으므로 UPPER이라는 함수를 사용해서 대문자로 추출할 수 있도록 한다.
SolutionSELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE LENGTH IS NULL; 문제에서 10cm 이하인 물고기는 LENGTH가 NULL로 기록된다고 하므로 NULL의 개수만 출력하면 된다.처음에는 COUNT(LENGTH)를 했었다. COUNT(*)과 다르지 않을 거라고 생각했었는데 COUNT() 함수는 NULL 값을 무시한다. 즉, 그 행을 세지 않게 되므로 계속 값이 0이 나온다.
SolutionSELECT EmployeeUNI.unique_id, Employees.nameFROM EmployeesLEFT JOIN EmployeeUNION Employees.id = EmployeeUNI.id;
예를 들어, 아래와 같은 두 개의 테이블이 있다고 가정해 봅시다.employees 테이블 (직원 정보):employee_idname1John2Alice3Bob departments 테이블 (부서 정보):department_iddepartment_name101Sales102HRCROSS JOIN이란?CROSS JOIN은 두 테이블의 모든 행을 서로 조합하여 결과를 반환하는 조인 방식입니다. 한 테이블의 각 행이 다른 테이블의 모든 행과 결합되므로, 결과로 만들어지는 행의 수는 두 테이블의 행 개수의 곱과 같습니다. 이를 카티션 곱이라고 합니다.우리는 employees 테이블과 departments 테이블을 CROSS JOIN을 사용해 결합하여, 모든 직원과 모든 부서의 조합을 만들어내고 싶습니다. SELE..