11.1. Wildcard Table ๊ฐ์11.1.1. Wildcard Table์ ์ฌ์ฉ11.1.2. ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ11.1.3. Wildcard Table ๋ฌธ๋ฒ11.2. ํ
์ด๋ธ ํํฐ๋ง11.2.1. _TABLE_SUFFIX11.2.2. ๋ชจ๋ ํ
์ด๋ธ ์ค์บ
ย
11.1. Wildcard Table ๊ฐ์
์์ผ๋์นด๋ ํ
์ด๋ธ์ BigQuery์์ ํน๋ณํ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก, ์ฌ๋ฌ ํ
์ด๋ธ์ ํ ๋ฒ์ ์ฐธ์กฐํ ์ ์๊ฒ ํด์ค๋๋ค.
FROM
์ ์์ ํน์ ํ ์ด๋ฆ ํจํด์ ๊ฐ์ง ์ฌ๋ฌ ํ
์ด๋ธ์ ์ ํํ๊ฑฐ๋ ์กฐํํ ๋ ์ฌ์ฉ๋๋ฉฐ, ์ ํํ ํ
์ด๋ธ ์ด๋ฆ ๋์ ํจํด์ผ๋ก ํ
์ด๋ธ์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด๋ ํนํ ์ฌ๋ฌ ํ
์ด๋ธ์ ๋๋ ์ ธ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์กฐํํ ๋ ์ ์ฉํฉ๋๋ค.11.1.1. Wildcard Table์ ์ฌ์ฉ
์ฆ, ํ
์ด๋ธ ์ด๋ฆ์ ๊ณตํต๋ ๋ถ๋ถ์ด ์์ ๋, ๊ทธ ๊ณตํต๋ ๋ถ๋ถ์ ํจํด์ ์ด์ฉํ์ฌ ์ฌ๋ฌ ํ
์ด๋ธ์ ํ๊บผ๋ฒ์ ๊ฒ์ํ ์ ์๊ฒ ํด์ค๋๋ค. ํน์ ํ ์ผ์ ํจํด์ ๊ฐ์ง ํ
์ด๋ธ ํน์ ํน์ ์ ๋์ฌ๋ฅผ ๊ฐ์ง ํ
์ด๋ธ๋ค์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์กฐํํ ์ ์์ต๋๋ค.
์๊ฐ ๊ธฐ์ฌ๋ฅผ ๊ฒ์ํ๋ ๋ธ๋ก๊ทธ ๋ฐ์ดํฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋งค์ ๊ฐ๊ฐ์ ํ
์ด๋ธ๋ก ์ ์ฅ๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
- user_blog_202212 (2022๋ 12์)
- user_blog_202301 (2023๋ 01์)
- user_blog_202302 (2023๋ 02์)
- user_blog_202303 (2023๋ 03์)
11์ฅ ์ด์ ์ ์๊ฐํ ๋ฐฉ๋ฒ์ผ๋ก 2023๋
์ ๋ชจ๋ ์ฌ์ฉ์ ๋ธ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์กฐํํ๋ ค๋ฉด ๋ชจ๋ ํ
์ด๋ธ์
UNION
์ ํตํด ํฉ์ณ์ผ ํฉ๋๋ค. ํ์ง๋ง BigQuery์ ์์ผ๋์นด๋ ํ
์ด๋ธ์ ์ฌ์ฉํ๋ฉด, ๋ชจ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋จํ๊ฒ ์กฐํํ ์ ์์ต๋๋ค.๋ฐ๋ผ์, 2023๋
์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ณด๊ณ ์ถ์ ๋
user_blog_2023*
์ฒ๋ผ Asterisk(๋ณํ, *) ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ํ๋ฉด ๊ทธ ๋ฌ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ณผ ์ ์์ต๋๋ค.ย
11.1.2. ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
BigQuery์ ๊ณต๊ฐ ๋ฐ์ดํฐ์
์ค, Google Merchandise Store์ ๋ํ ๋ด์ฉ์ด ํฌํจ๋ Google Analytics Sample ๋ฐ์ดํฐ์
์ ๋ถ๋ฌ์ค๋๋ก ํ๊ฒ ์ต๋๋ค.
- ํ์๊ธฐ์ โ+์ถ๊ฐโ ๋ฒํผ ํด๋ฆญ ํ, ๊ณต๊ฐ ๋ฐ์ดํฐ์ ์ ์ ํํฉ๋๋ค.
ย
- โgoogle analytics sampleโ์ ๊ฒ์ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ํํฉ๋๋ค.
ย
- ๋ฐ์ดํฐ์ธํธ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ๊ณต๊ฐ ๋ฐ์ดํฐ์ ์ ๋ถ๋ฌ์ต๋๋ค.
ย
4. ๋ฐ์ดํฐ์
๋ด ํ
์ด๋ธ์ ์คํค๋ง์ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฑ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ, ์ฟผ๋ฆฌ๋ฅผ ํตํ ์์
์ด ๊ฐ๋ฅํฉ๋๋ค.
ย
11.1.3. Wildcard Table ๋ฌธ๋ฒ
SELECT * FROM `<project-id>.<dataset-id>.<table-prefix>*` WHERE bool_expression
- <project-id>: BigQuery์์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ์ ๊ด๋ จ ์ค์ ์ ์ ์ฅํ๋ ๊ณ ์ ํ ์๋ณ์์ ๋๋ค. GCP(Google Cloud Platform) ํ๋ก์ ํธ์๋ ๊ณ ์ ํ ID๊ฐ ์์ผ๋ฉฐ, ์ด ID๋ฅผ ํตํด ํน์ ๋ฐ์ดํฐ๋ ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
- <dataset-id>: ๋ฐ์ดํฐ์ ์ ์ด๋ฆ ๋๋ ๊ณ ์ ID์ ๋๋ค.
- <table-prefix>: ํ ์ด๋ธ ์ด๋ฆ์ ์ ๋์ฌ ๋๋ ํจํด์ ์ง์ ํ๋ ๋ถ๋ถ์ ๋๋ค. ์ฌ๊ธฐ์์ ์์ผ๋์นด๋ ๋ฌธ์ '*'๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํจํด์ ๊ฐ์ง ์ฌ๋ฌ ํ ์ด๋ธ์ ์ ํํฉ๋๋ค.
- * (Wildcard Character): ์ฌ๋ฌ ํ ์ด๋ธ์ ๋์์ ์ฐธ์กฐํ๊ธฐ ์ํด ์ด๋ฆ์ ์ผ๋ถ๋ฅผ ๋์ฒดํ๋ ๋ฌธ์์ ๋๋ค. ์์ผ๋์นด๋ ๋ฌธ์๋ ํ ์ด๋ธ ์ด๋ฆ์ ๋ง์ง๋ง ๋ฌธ์๋ก๋ง ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ด๋ฆ์ด ํน์ ํจํด์ผ๋ก ์์ํ๋ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋์์ ์ฐธ์กฐํ ์ ์์ต๋๋ค. '*'๋ ํน์ ๋ฌธ์๋ก ๊ฐ์ฃผํ๋ฏ๋ก ์์ผ๋์นด๋ ํ ์ด๋ธ ์ด๋ฆ์ ๋ฐฑํฑ(`) ๋ฌธ์๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค.
ย
BigQuery์ Google Merchandise Store ๋ฐ์ดํฐ์
์ ํตํด ์์๋ฅผ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ๋ฐ์ดํฐ์
์ ์น์ฌ์ดํธ ํธ๋ํฝ ์์ค, ์ฝํ
์ธ ์ฌ์ฉ์ ํ๋ ๋ฐ ๊ฑฐ๋ ์ ๋ณด๋ฅผ ํฌํจํ ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ ํ๋์ ๋ํ๋
๋๋ค.
ํด๋น ๋ฐ์ดํฐ๋ 2016๋
08์ 01์ผ๋ถํฐ 2017๋
08์ 01์ผ๊น์ง ์ด 1๋
๊ฐ์ ์ผ์๋ณ ํ
์ด๋ธ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ชจ๋ "ga_sessions_โ๋ผ๋ prefix(์ ๋์ด)๋ฅผ ๊ณต์ ํฉ๋๋ค. 2017๋
01์ 01์ผ์ ํ
์ด๋ธ์ "bigquery-public-data.google_analytics_sample.ga_sessions_20170101"๊ณผ ๊ฐ์ด ํํํ ์ ์์ต๋๋ค.
์ด๋ฌํ ํ
์ด๋ธ ๊ทธ๋ฃน์ ์กฐํํ๊ธฐ ์ํด
FROM
๋ฌธ์์ _TABLE_SUFFIX
๋ค์์ ์์ผ๋์นด๋ ๋ฌธ์ '*'๋ฅผ ์ฌ์ฉํฉ๋๋ค. ย
Google Merchandise Store ๋ฐ์ดํฐ์
์์ 2017๋
1์ 1์ผ ์ ํ
์ด๋ธ์ธ โga_sessions_20170701โ์์ ๋ฐฉ๋ฌธ์ ID, ๋ ์ง, ๋ฐฉ๋ฌธ ํ์๋ฅผ ์กฐํํด ๋ณด๊ฒ ์ต๋๋ค.
SELECT fullVisitorId, date, visitNumber, FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170701`;
ย
์กฐํํ ํ
์ด๋ธ์ ์ต์ ๋ ์ง์ ์ต๋ ๋ ์ง๋ฅผ ์ถ์ถํด ๋ณด๋ฉด ๋น์ฐํ 2017๋
07์ 01์ผ์ธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
WITH GA AS ( SELECT fullVisitorId, date, visitNumber, FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170101` ) SELECT MIN(date) AS min_date , MAX(date) AS max_date FROM GA;
ย
์ด์ ์์ผ๋์นด๋ ํ
์ด๋ธ์ ์ฌ์ฉํด์ 2017๋
7์ ๋ชจ๋ ์ผ์์ ํ
์ด๋ธ์ ํ ๋ฒ์ ์กฐํํด ๋ณด๊ฒ ์ต๋๋ค. ์ฆ,
FROM
์ ์ ํ
์ด๋ธ ์ด๋ฆ์ด โga_sessions_20170101โ์์ โga_sessions_201707*โ๋ก, ๋ ์ง ๋ฒ์์ธ [1-31] ๋ถ๋ถ์ ์์ผ๋์นด๋ ๋ฌธ์์ธ โ*โ ๊ธฐํธ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ์กฐํํ ํ
์ด๋ธ์ ์ต์ ๋ ์ง์ ์ต๋ ๋ ์ง๋ฅผ ์ถ์ถํ๋ฉด 2017๋
7์ 01์ผ๋ถํฐ 2017๋
7์ 31์ผ์ธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.WITH GA AS ( SELECT fullVisitorId , date , visitNumber FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*` ) SELECT MIN(date) AS min_date , MAX(date) AS max_date FROM GA;
ย
์๋์ ์์์์๋ 2017๋
7์ ๋์์ ๋ฐฉ๋ฌธ์("fullVisitorId")์ ๋ฐฉ๋ฌธ ํ์("visitCount")๋ฅผ ๊ณ์ฐํ๊ณ , ๋ฐฉ๋ฌธ ํ์๊ฐ ๊ฐ์ฅ ๋ง์ ์์ 10๋ช
์ ๋ฐฉ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค.
SELECT fullVisitorId , COUNT(DISTINCT visitId) AS visitCount FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*` GROUP BY fullVisitorId ORDER BY visitCount DESC LIMIT 10;
ย
์์ผ๋์นด๋ ํ
์ด๋ธ์ ํ์ฉํ ๋๋ ์ฌ๋ฌ ๊ฐ์ง ์ฃผ์ํด์ผ ํ ์ฌํญ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์์ ์ ๋ค์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฒ์ ์ค์ : ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํ ๋๋
_TABLE_SUFFIX
์ ๊ฐ์ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์กฐํํ ํ ์ด๋ธ์ ๋ฒ์๋ฅผ ๋ช ํํ๊ฒ ์ค์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์์์น ๋ชปํ ๋ฐ์ดํฐ์๊ณผ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๋น์ฉ ๊ด๋ฆฌ: ์์ผ๋์นด๋ ์ฟผ๋ฆฌ๋ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ค์บํ ์ ์์ผ๋ฏ๋ก ์ฟผ๋ฆฌ ๋น์ฉ์ด ์์นํ ์ ์์ต๋๋ค. BigQuery์ ๊ฐ๊ฒฉ ์ ์ฑ ์ ์ดํดํ๊ณ ์ฟผ๋ฆฌ ์ ์ ์์ ๋น์ฉ์ ๊ณ์ฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์ฑ๋ฅ ์ต์ ํ: ๊ฐ๋ฅํ ํ ํ์ํ ๋ฐ์ดํฐ๋ง ์ค์บํ๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์ ๋ฐํ๊ฒ ์กฐ์ ํฉ๋๋ค. ๋ถํ์ํ ๋ฐ์ดํฐ ์ค์บ์ ๋น์ฉ ์ฆ๊ฐ๋ฟ๋ง ์๋๋ผ ์ฟผ๋ฆฌ ์ฑ๋ฅ ์ ํ๋ก๋ ์ด์ด์ง ์ ์์ต๋๋ค.
- ํจํด ์ผ์น: ์์ผ๋์นด๋๋ ๋งค์ฐ ์ ์ฐํ๊ธฐ ๋๋ฌธ์ ์์์น ๋ชปํ ํ ์ด๋ธ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ ์ ๋งค์นญ๋๋ ํ ์ด๋ธ ๋ชฉ๋ก์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ย
11.2. ํ ์ด๋ธ ํํฐ๋ง
11.2.1. _TABLE_SUFFIX
BigQuery ์์ผ๋์นด๋ ํ
์ด๋ธ์์
_TABLE_SUFFIX
๋ ์ฟผ๋ฆฌ๊ฐ ์ฐธ์กฐํ๋ ์ฌ๋ฌ ํ
์ด๋ธ ์ค์์ ํน์ ํ ํ
์ด๋ธ์ ์ ๋ณ์ ์ผ๋ก ์กฐํํ ๋ ์ฌ์ฉ๋๋ ๊ฐ์์ ์ปฌ๋ผ์
๋๋ค. ์ด ๊ฐ์ ์ปฌ๋ผ์ ํ์ฉํ๋ฉด ํ
์ด๋ธ์ ์ ๋ฏธ์ฌ, ์ฆ ์์ผ๋์นด๋์ ์ํด ๋์ ์ผ๋ก ์ ํ๋๋ ํ
์ด๋ธ ์ด๋ฆ์ ์ผ๋ถ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฟผ๋ฆฌ์ ๋ฒ์๋ฅผ ์ขํ ์ ์์ต๋๋ค. ๋ํ, ์๋์ผ๋ก ํด๋น ๋ฒ์ ๋ด์ ํ
์ด๋ธ๋ง์ ์ค์บํ๊ฒ ๋๋ฏ๋ก, ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ค์บํ์ฌ ๋ฐ์ํ๋ ๋น์ฉ์ ์ค์ผ ์ ์์ต๋๋ค.Google Merchandise Store ๋ฐ์ดํฐ์
์์ 2017๋
07์์ ๋ชจ๋ ํ
์ด๋ธ์ ์ค์บํ๋ ์ฟผ๋ฆฌ๋ ์๋์ ๊ฐ์ต๋๋ค.
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*`
ํด๋น ํจํด์์ ์์ผ๋์นด๋ ๋ฌธ์ โ*โ๋ 01๋ถํฐย 31๊น์ง์ ๋ฒ์์ ์๋ ๊ฐ์ด๋ฉฐ, โga_sessions_20170701โ๋ถํฐย โga_sessions_20170731โ๊น์ง๋ฅผ ๋ํ๋
๋๋ค. ํ์ง๋ง 7์ 10์ผ๋ถํฐ 7์ 20์ผ๊น์ง์ ๋ฐ์ดํฐ๋ง ๊ฒ์ํ๊ณ ์ถ๋ค๋ฉด,
_TABLE_SUFFIX
๋ฅผ ์ฌ์ฉํ์ฌ WHERE _TABLE_SUFFIX BETWEEN
'10'
AND
'20'
๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ์ฟผ๋ฆฌ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ํด๋น WHERE
์ ๊ณผ ์กฐ๊ฑด์ ์ถ๊ฐํ์ฌ ์กฐํํ ํ
์ด๋ธ์ ์ต์ ๋ ์ง์ ์ต๋ ๋ ์ง๋ฅผ ์ถ์ถํ๋ฉด 2017๋
7์ 10์ผ๋ถํฐ 2017๋
7์ 20์ผ๊น์ง์ธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.WITH GA AS ( SELECT fullVisitorId, date, visitNumber, FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*` WHERE _TABLE_SUFFIX BETWEEN "10" AND "20" ) SELECT MIN(date) AS min_date , MAX(date) AS max_date FROM GA;
ย
์๋์ ์์๋ 2017๋
07์ 10์ผ์์ 2017๋
07์ 20์ผ ์ฌ์ด์ ๊ฐ์ฅ ๋ง์ ๊ธ์ก์ ์ง๋ถํ ๊ณ ๊ฐ์ ์์ด๋์ ๊ธ์ก์ ์ถ๋ ฅํฉ๋๋ค.
SELECT fullVisitorId AS customer_id , MAX(totals.totalTransactionRevenue) AS max_revenue FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*` WHERE _TABLE_SUFFIX BETWEEN '10' AND '20' AND totals.transactions IS NOT NULL GROUP BY customer_id ORDER BY max_revenue DESC LIMIT 1;
ย
11.2.2. ๋ชจ๋ ํ ์ด๋ธ ์ค์บ
๋ฐ์ดํฐ์
์ ๋ชจ๋ ํ
์ด๋ธ์ ์ค์บํ๋ ค๋ฉด prefix(์ ๋์ด)๋ฅผ ๋ณ๋๋ก ์ง์ ํ์ง ์์ ์ํ์์ ์์ผ๋์นด๋ ํ
์ด๋ธ์ ์ฌ์ฉํฉ๋๋ค. ์ฆ, ํ
์ด๋ธ ์ด๋ฆ์ ์์ ๋ถ๋ถ์ ์ด๋ ํ ํน์ ๋ฌธ์์ด์ด ์๋ ์ํ์์ ์์ผ๋์นด๋ ๋ฌธ์ โ*โ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋์ ์์๋ Google Merchandise Store ๋ฐ์ดํฐ์
์ ๋ชจ๋ ํ
์ด๋ธ์ ์ค์บํฉ๋๋ค.
FROM `bigquery-public-data.google_analytics_sample.*`
ย
์์ ์์์ฒ๋ผ prefix(์ ๋์ด)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ์ฟผ๋ฆฌ๋ฅผ ๋น๊ตํ๊ณ ์ ํฉ๋๋ค. ๋ ์ฟผ๋ฆฌ ๋ชจ๋ 2017๋
7์ 10์ผ์์ 2017๋
7์ 20์ผ ์ฌ์ด์ ๊ฐ์ฅ ๋ง์ ๊ธ์ก์ ์ง๋ถํ ๊ณ ๊ฐ์ ์์ด๋์ ๊ธ์ก์ ์ถ๋ ฅํฉ๋๋ค.
Prefix(์ ๋์ด)๋ฅผ ์ฌ์ฉํ๋ ์์์์๋ "ga_sessions_201707"์ ๊ฐ์ ์ ๋์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ,
WHERE
์ ์์ _TABLE_SUFFIX BETWEEN '10' AND '20'
์ ๊ฐ์ ์กฐ๊ฑด์ ํ์ฉํ์ฌ ํด๋น ์์ ์ฌ๋ฌ ํ
์ด๋ธ์ ์ ํํฉ๋๋ค.๋ฐ๋ฉด์ prefix(์ ๋์ด)๋ฅผ ์ฌ์ฉํ์ง ์๋ ์์์์๋ ์ ๋์ด๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์๊ณ ,
WHERE
์ ์์ _TABLE_SUFFIX BETWEEN 'ga_sessions_20170710' AND 'ga_sessions_20170720'
์ ๊ฐ์ด ์ ์ฒด ํ
์ด๋ธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ํน์ ๋ ์ง ๋ฒ์์ ๋ฐ์ดํฐ๋ง ์ ํํฉ๋๋ค. BigQuery ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด ๊ธด ํ๋ฆฌํฝ์ค๊ฐ ์งง์ ํ๋ฆฌํฝ์ค๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ์ฐ์ํฉ๋๋ค.
# Prefix ์ฌ์ฉ SELECT fullVisitorId AS customer_id , MAX(totals.totalTransactionRevenue) AS max_revenue FROM `bigquery-public-data.google_analytics_sample.ga_sessions_201707*` WHERE _TABLE_SUFFIX BETWEEN '10' AND '20' AND totals.transactions IS NOT NULL GROUP BY customer_id ORDER BY max_revenue DESC LIMIT 1; #----------------------------------------------------------------------------- # Prefix ๋ฏธ์ฌ์ฉ (๋น ์ ๋์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ๋ ๋ฎ์) SELECT fullVisitorId AS customer_id , MAX(totals.totalTransactionRevenue) AS max_revenue FROM `bigquery-public-data.google_analytics_sample.*` WHERE _TABLE_SUFFIX BETWEEN 'ga_sessions_20170710' AND 'ga_sessions_20170720' AND totals.transactions IS NOT NULL GROUP BY customer_id ORDER BY max_revenue DESC LIMIT 1;