본문 바로가기

query5

[SQL] 월별로 잔존타입별 고객수 계산 아래와 같은 테이블이 있다고 가정하고, -- 테이블 명세 : tbl_order customer_id : 고객 아이디 (int) order_date : 주문일자 (date) order_id : 주문번호 (int) order_price : 주문금액 (int) 계산하려고 하는 것은 아래의 고객 타입별 고객 수입니다. -- 이번달 구매한 고객 신규고객 : 이번달 첫구매한 고객 잔존고객 : 전월과 이번달 구매한 고객 귀환고객 : 신규고객이 아니면서, 전월 구매하지 않은 고객이 이번달 구매한 고객 -- 이번달 구매하지 않은 고객 이탈고객 : 전월 구매한 고객이 이번달 구매하지 않은 고객 HTML 삽입 미리보기할 수 없는 소스 2024. 1. 25.
[BigQuery] 연속된 일자 생성하기 빅쿼리에서는 generate_date_array 라는 함수를 사용하면, 일련의 날짜 데이터에 대한 배열을 결과 값으로 얻을 수 있다. 이를 응용하면, 특정 기간안에 주별 데이터(주별 시작일, 연도, 주넘버)를 구하여 여러 쿼리에 활용할 수 있다. declare from_date, to_date date; set from_date = date_sub('2023-01-01', interval 375 day); set to_date = '2023-12-31'; select date_trunc(date(base_dt), week(sunday)) as current_dd , format_date('%Y', base_dt) as week_year , format_date('%U', base_dt) as week_n.. 2023. 10. 10.
[BigQuery] 빅쿼리에서 min_by, max_by 쿼리 문장에서 많이 사용하는 그룹 함수 중에 하나가 min(), max() 함수입니다. 아래와 같은 학생별 시험 성적 테이블이 있다고 가정을 합니다. 학생별로 가장 높은 점수와 가장 낮은 점수를 구하는 쿼리를 작성해볼까요. 아래와 같이 계산할 수 있습니다. select user_id , min(score) as min_score , max(score) as max_socre from tbl_score group by user_id 이번에는 학생별로 점수가 가장 낮은 과목은 무었인지 구하는 쿼리를 작성해볼까요. 이럴때 사용할 수 있는 함수가 min_by 입니다. 아시겠지만, min(subject) 라고 쓸 수 없는 이유는 이 함수는 알파벳의 사전순으로 가장 작은 값을 가져오는 내용이기 때문입니다. sele.. 2023. 1. 30.
[BigQuery] 다양한 쿼리 예제 지난 포스팅에서는 빅쿼리에서의 array 그리고 struct 에 대해서 살펴보았었다. https://walkingfox.tistory.com/169 [BigQuery] Array, Struct 그리고 unnest 빅쿼리에는 Array (배열) 와 Struct (구조체) 라는 개념이 있다. 이 Array 와 Struct 가 생소하게 느껴질 수 있다. 일반적으로 쿼리문의 결과는 아래 그림과 같은 행(row)과 열(column)로 이루어진 테이블(tabl walkingfox.tistory.com 이번 포스팅에서는 여러 케이스의 쿼리 샘플을 살펴보려고 한다. (1) unnest 를 이용한 array 를 펼치기 with 문을 이용하여 위와 같은 테이블을 먼저 구성하였다. id, some_numbers 라는 두개의.. 2022. 6. 26.
[MySQL] Shell 에서 쿼리 결과를 CSV 파일로 저장 DB에 쿼리를 할 때 보통은 DB 클라이언트 프로그램을 사용한다. Workbench, DBeaver 와 같은.. 그러면 해당 툴에서는 쿼리의 결과를 쉽게 csv 파일로 저장을 할 수 있다. 하지만, 경우에 따라서 위 처럼 툴(tool)에서 쿼리 결과를 받을 수 없는 경우가 있을 수 있는데 이때는 Shell 에서 명령어로 그 결과를 CSV 로 저장할 수 있다. 아래와 같이... mysql -u"계정명" -p "DB명" "결과파일명" $ mysql -uroot -p test_db result.csv 각 항목마다 " " 로 감싸지 않을 경.. 2022. 5. 11.