no image
SQL : Having
Having group by를 이용해서 aggregate 을 해보았다. 그런데 만약 월별로 aggregate을 했을 때, 모든 월에 대하여 aggregate 결과를 보고 싶은게 아니라 해당 결과에 대해서 특정 조건을 만족하는 월들을 찾고 싶다고 해보자. SELECT ~ FROM 과 함께 썼던 WHERE 절은 여기서 이용할 수 없다. 왜냐하면 GROUP BY 절 전에 오는 WHERE 절로 이미 집계(Aggregated)가 된 값들을 기준으로 filter할 수 없기 때문이다. 그래서 이 때 이용하는게 HAVING 절이다. 예 ) 년도 + 월 조합 별 'high' 컬럼의 최댓값을 알고 싶은데, 그 최댓값이 400이 넘어야 한다는 조건을 붙여보자. # 쿼리문 순서 정리 (Query Clause Order) 1...
2023.07.14
no image
Uber Key Metrics (2023)
Uber - 긱(gig) 이코노미 (필요에 따라 임시로 계약을 맺고 노동력 제공 - 대가 지불하는 경제 형태) 와 ride-sharing(승차 공유) 산업 개척 - 회사의 전략적인 성장과 소비자 경험을 개선하기 위해서 key metrics를 지속적으로 개발해옴 글로벌 기업인 Uber가 업계에서 최고를 차지하기까지 이용한 KPI에 대해서 먼저 알아보면 국내 기업 비즈니스 모델 및 KPI와도 비교해보면서 분석하기에 좋을 것 같다고 생각하여 최근(23.07.12)에 올라온 다른 분석 글을 참고하여 정리해보았다. operational effectiveness + profitability + customer satisfaction measurements : 운영의 효율성, 수익성, 그리고 고객 만족도를 측정할 수..
2023.07.13
no image
OPIc 시험접수 / 문제 유형 정리 / 서베이
[OPIc 시험접수] 외국어말하기평가 OPIc 공식 시험 접수 사이트 https://m.opic.or.kr/opics/servlet/controller.opic.site.main.MainServlet?p_process=move-init-mobile&p_section=2 외국어말하기평가 OPIc 공식 사이트 실생활 커뮤니케이션 외국어 역량을 평가하는 오픽 m.opic.or.kr 대학생은 1년에 한 번 응시권에 할인을 받을 수 있다. https://univ.opic.or.kr/opicb2b/showMainView OPIc univ.opic.or.kr 후자의 방법을 이용하면 원래 78,100원에서 69,000으로 할인받아 응시할 수 있다. (단, 1년에 한 번만 적용 가능하며 재학증명서 꼭 꼭 들고 가야 한다..
2023.07.12
no image
SQL : Distinct
DISTINCT 특정 column에 대해 중복을 제거하는 sql문이다. Apple stock prices dataset의 "month" column에서 unique values를 선택하기 위한 쿼리는 아래와 같다. (result) month 1 2 ... 만약 column 두 개를 select 한다면 두 열의 쌍으로 unique한 pair들을 모두 출력할 것이다. (result) year month 2014 2 2014 5 2015 1 ... ... + 위에 result는 모두 month 또는 year에 대해 오름차순이 되도록 setting 해놨는데, 만약 결과가 원하는 순서로 정렬되어 있지 않다면 마지막 줄에 order by (column 명) (desc) 를 덧붙여 주면 된다. # Using DIST..
2023.07.10
no image
SQL : Group by
Group by # Grouping by a single column data를 group으로 나눈 다음에 group별로 aggregate 할 수 있도록 해준다. 'Apple Stock prices dataset'에서 년도 별로 data(row)가 몇 개(행)씩 있는지 세기? sum, avg, min, max와 같은 aggregate 함수는 어떤 column의 value들을 계산할 것인지 지정이 필요하기 때문에 sum( ), avg( ), min( ), max( ) 등 ( ) 안에 계산하려는 column명을 명시해야 하지만 count( ) 함수의 경우 어떤 열을 선택하던, 그 결과값은 동일하기 때문에 보통 count(1) 또는 count(*)로 입력한다. # 열 간 연산 후, grouping by a c..
2023.07.10
no image
SQL : Aggregate functions : Count, Sum, Min/Max, Avg
1. Count # Counting all rows 'Apple Stock prices dataset'에서 dataset의 행의 수를 카운트한다고 하자. # Counting individual columns (distinctive values) 같은 dataset에서 특정한 column의 non-null인 행의 수를 카운트하고 싶다고 하자. 이번에는 특정 column에서 서로 다른 value가 몇 개가 있는지 카운트하고 싶다고 하자. (+중복제거) SELECT COUNT (DISTINCT 컬럼명) FROM 테이블명 2. Sum 특정 행의 모든 값들을 합을 구해준다. count 와 다르게 (당연히..?) 해당 column의 모든 값이 numerical value이어야 가능하다. NULL값들은 0으로 처리한..
2023.07.06
no image
SQL : not, order by
1. NOT SQL에서 어떤 조건문 앞에 NOT 을 붙이면, 그 조건에 해당하지 않는 행을 불러올 수 있다. # NOT은 LIKE 와도 같이 잘 쓰인다. 예를 들어, WHERE artist NOT LIKE 'a%' # non-null인 행들을 골라낼 때 IS NULL 과 함께 쓰이곤 하는데, 이 때 syntax에 주의해야 함 !! : # 추가 예시 : Write a query that returns all rows for songs that were on the charts in 2013 and do not contain the letter "a". SELECT * FROM tutorial.billboard_top_100_year_end WHERE song_name NOT ILIKE '%a%' AND y..
2023.07.01
no image
SQL : is null, and, or
1. IS NULL SQL에서 IS NULL 은 말그대로 missing data를 갖고 있는 행을 찾는 logical operator이다. 예를 들어서 billboard_top_100_year_end 라는 이름의 table이 있고 "artist" 이라는 이름의 column이 있을 때 그 value로 어떠한 data도 담겨있지 않는 행들 고른다고 해보자. 2. AND SQL에서 AND 는 두 개의 조건을 동시에 만족하는 행을 불러오고 싶을 때 쓰는 logical operator이다. 예를 들어서 이번에는 같은 table에서 를 뽑아보고 싶다고 하자! "year" column 에 대해서는 year = 2012 라는 condition을, "year_rank" ..
2023.07.01
no image
SQL : logical operator : like, in, between
1. LIKE SQL에서 LIKE 는 정확한 어떤 값에 해당하는 것이 아닌, 그와 유사한 값을 찾는 logical operator이다. 예를 들어서 billboard_top_100_year_end 라는 이름의 table이 있고 "group_name" 이라는 이름의 column이 있을 때 그 value가 'Snoop'으로 시작하는 rows를 불러오고 싶다고 하자. ( column 이름은 꼭 " " 안에 넣어주지 않아도 된다. 지정하는 value는 ' ' 안에 넣어준다. ) 그런데 갑자기 % 는 무엇인가..!! 여기서 % 는 wildcard라고 불리는 것인데, any character and set of characters 를 대신한다. + 그러니까 예를 들어 "group_name"이 문자 's'로 끝나는 ..
2023.07.01