SQL20 [빅쿼리 #8] 윈도우함수를 알아보자(1) (순위함수, 행의 값 조회 함수) - Today's Topic Window Function의 개요 순위 함수 행의 값 조회 함수 order by 구문 - Used Function 순위함수 ROW_NUMBER(), RANK(), DENSE_RANK()의 차이와 쓰임 행의 값 조회 함수 LAG(), LEAD()함수의 차이와 쓰임 ORDER BY구문 (OVER()함수 포함) 안녕하세요. 오늘은 윈도우함수에 대해 살펴보도록 하겠습니다. 윈도우 함수라는 개념이 생소하실 수 있으므로, 간단한 개념부터 보겠습니다. 1. 윈도우 함수 (Window Function) 개요 SQL에는 '순서'라는 개념이 존재하지 않기 때문에, 순서와 관련된 데이터를 처리하려면 매우 복잡한 과정이 동반됩니다. 이러한 과정을 줄이고자 등장한 것이 윈도우 함수입니다. 윈도우 .. 2023. 1. 30. [빅쿼리 #7] 여러 개의 값에 대한 조작 (2) - Today's Topic 현재날짜를 기준으로, 날짜의 차이 계산하기 현재날짜를 이용하여, 연수 계산하기 ip주소를 정수형으로 변환하기 ip주소를 0으로 채우기 - Used Function 날짜함수 (current_date(), date(), timestamp(), date_diff() 등) cast() 함수 split() 함수 lpad()함수 이번에는 날짜함수를 활용해 날짜의 차이를 계산해보고, 연수를 파악하는 방법, 그리고 텍스트분석에 사용되는 cast, split함수와 함께 lpad()함수를 사용해 ip주소를 정수형으로 변환하고, 0으로 채우는 방법에 대해 살펴보겠습니다. 사용할 테이블은 다음과 같습니다. 제 임의로 업체의 지점별 매출을 만든 테이블입니다. code: 지점고유코드 place: 지점.. 2023. 1. 27. [빅쿼리 #6] 여러 개의 값에 대한 조작(1) - Today's Topic 작년 대비 올해 매출의 증가와 감소 표시하기 지난 4년간 최대/최소 매출 찾기 연합계 및 연평균 매출 계산하기 (집계함수 미사용) - Used Function concat() 함수 case when ~ then ~ else ~ end 구문 greatest(), least() 함수 order by절 오늘은 하나의 값이 아닌 여러 개의 값에 대해 조작하고, 결과를 출력하는 첫 번째 시간을 가져보도록 하겠습니다. 오늘 사용할 테이블은 다음과 같습니다. 가상으로 업체의 지점별 매출을 만든 테이블입니다. code: 지점고유코드 place: 지점이 속한 지역 markname: 지점명 regdate: 지점등록일자 sales_년도: 연매출 ip: 각 지점의 사무실 ip (임의로 정한 값으로.. 2023. 1. 26. [빅쿼리 #5] 하나의 값 조작하기 - Today's Topic 연월일을 column별로 추출 새로운 행 삽입하기 (데이터 추가하기) 총합계 구하기 (집계함수 미사용) - Used Function extract() insert into ~ values coalesce() 오늘은 간단한 값을 조작하는 방법에 대해 살펴보겠습니다. 오늘 사용할 테이블은 다음과 같으며, 해당 코드를 big query에 입력해 줍니다. CREATE TABLE inlaid-lane-373607.sqlr202301.lec5_adv ( customer_id string(255) , reg_date date , num_of_purchase int64 , recent_purchase_price1 int64 , recent_purchase_price2 int64 , rece.. 2023. 1. 25. [빅쿼리 #4] 빅쿼리의 데이터 타입 지정 오류가 발생한다면? 빅쿼리에서 테이블을 만들다보면 다음과 같은 상황이 벌어질 수 있습니다. 다른 sql에서 하는것처럼 테이블을 만들었는데, 오류메시지로 "varchar2타입을 찾을 수 없습니다."라고 나오네요. 이 뜻은, 빅쿼리상에서 varchar2 데이터 타입을 인식을 하지 않아서, 그것을 대체할 다른 타입을 써야 한다는 것입니다. varchar2(255)는 가변 길이 문자열을 최대 255byte까지 나타내겠다는 의미입니다. (즉, 한글과 같이 한 글자당 2byte인 문자열은 255글자보다 더 적게 들어 갑니다.) 그렇다면 빅쿼리상에서는 무엇으로 적을 수 있을까요? 바로 string데이터 타입을 사용합니다. string역시 문자열 데이터 타입이라고 보시면 될 것 같습니다. 다음 표를 보겠습니다. 표의 왼쪽은 mysql의 .. 2023. 1. 20. [빅쿼리 #3] 테이블 생성/삭제, 값 삽입할 때, from절 검색시 오류가 발생해요. [Today's Agenda] 테이블 생성 및 삭제 시 오류 대처 방법 값 삽입 시 오류 대처 방법 from절 오류 대처 방법 [How to solve] 빅쿼리의 구조를 이해합니다. (프로젝트명.데이터셋.테이블) 아래처럼 테이블까지 모두 만들었습니다. 이제는 테이블 스키마를 정의하고 직접 값을 넣어야 할 때입니다. https://dtandard.tistory.com/17 [빅쿼리 #2] 프로젝트 및 데이터셋과 테이블 만들기 https://dtandard.tistory.com/16 #1. 구글빅쿼리 무료로 시작하기 오늘은 구글 빅쿼리를 무료로 시작하는 방법에 대해 살펴보겠습니다. sql을 사용하다보면 구글 빅쿼리를 한 번쯤 들어보았을 것입니다. dtandard.tistory.com 1. 테이블 만들고, 스.. 2023. 1. 18. 이전 1 2 3 4 다음