๐Ÿฌ MySQL

ํ—ท๊ฐˆ๋ฆฌ๋Š” BigQuery ํ•จ์ˆ˜ ์ •๋ฆฌ

xod22 2023. 4. 14. 23:01
728x90

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ DBeaver๋กœ MySQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋‹ค๊ฐ€ ์†๋„์˜ ๋ฌธ์ œ๋กœ Google Cloud์— ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ BigQuery๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๋™์ผํ•˜๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋“ค์ด ๋ฐœ์ƒํ•˜๋”๋ผ๊ตฌ์š”!

 

BIgquery๊ฐ™์€ ๊ฒฝ์šฐ๋Š” Standard SQL์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ์ œ๊ฐ€ ๋‚˜์ค‘์— ๋‹ค์‹œ ๋ณด๊ธฐ์œ„ํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ด…๋‹ˆ๋‹ค!

 


(1) EXTRCT(ํ•„์š”ํ•œ๊ฐ’ FROM ์‹œ๊ฐ„์ปฌ๋Ÿผ๋ช…)

: DATETIME์—์„œ ํ•„์š”ํ•œ ๊ฐ’(์ผ์ž, ์š”์ผ, ์ฃผ์ฐจ, ์›”, ๋ถ„๊ธฐ, ์—ฐ๋„, ์‹œ๊ฐ„ ๋“ฑ)์„ ์ถ”์ถœ

MySQL์—์„œ๋Š” ๋น„๊ต์  ์‰ฝ๊ฒŒ ์ถ”์ถœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. YEAR(์‹œ๊ฐ„์ปฌ๋Ÿผ๋ช…) ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์›ํ•˜๋Š” ๊ฐ’์„ ์‰ฝ๊ฒŒ ์ถ”์ถœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

  • YEAR : ์—ฐ๋„ ์ถ”์ถœ
  • MONTH : ์›” ์ถ”์ถœ
  • DAY : ์ผ ์ถ”์ถœ 
  • WEEK : ์ฃผ ์ถ”์ถœ
  • HOUR : ์‹œ ์ถ”์ถœ
  • MINUTE : ๋ถ„ ์ถ”์ถœ
  • SECOND : ์ดˆ ์ถ”์ถœ

 

 

(2) COUNT(DISTINCT CONCAT(์ปฌ๋Ÿผ1, '-', ์ปฌ๋Ÿผ2))

์ „ํ™˜์œจ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์—์„œ user_id, user_session์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ COUNT๋ฅผ ํ•ด์ฃผ์–ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด์—ˆ์œผ๋‚˜ ๋น…์ฟผ๋ฆฌ์—์„œ "Number of arguments does not match for aggregate function COUNT. Supported signature: COUNT(ANY) ~" ์ด๋Ÿฐ์‹์˜ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚˜๋”๋ผ๊ตฌ์š”!

 

์ฒ˜์Œ์—๋Š” ์ธ์ˆ˜ ์ˆ˜๊ฐ€ ๋งž์ง€ ์•Š๋‹ค๋Š” ์˜ค๋ฅ˜ ๋•Œ๋ฌธ์— ์ œ๊ฐ€ ์ฟผ๋ฆฌ๋ฅผ ์ž˜๋ชป์งฐ๋‚˜? ์ด๋ ‡๊ฒŒ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ BigQuery์—์„œ๋Š” COUNT(DISTINCT ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2)๊ฐ€ ๋งž๋Š” ๋ฌธ๋ฒ•์ด ์•„๋‹ˆ๋”๋ผ๊ตฌ์š”.

 

COUNT(DISTINCT CONCAT(์ปฌ๋Ÿผ1, '-', ์ปฌ๋Ÿผ2)), ์ด๋ ‡๊ฒŒ "-"๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋‹ˆ ๋ฐ”๋กœ ์˜ค๋ฅ˜๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

 

 

(3) DATE(FORMAT_DATETIME("%Y-%m-01", ์‹œ๊ฐ„์ปฌ๋Ÿผ))

๊ฐ๊ฐ์˜ ์ฝ”ํ˜ธํŠธ๋ณ„๋กœ ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ณ ๊ฐ๋“ค์˜ ์žฌ๊ตฌ๋งค๋ฅผ ์ถ”์ ํ•ด๋ณด๋Š” ํด๋ž˜์‹ ๋ฆฌํ…์…˜ ๊ณ„์‚ฐ์—์„œ DATE_FORMAT(์‹œ๊ฐ„์ปฌ๋Ÿผ๋ช…, "%Y-%m-01") ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด "YYYY-MM-01" ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด๋ณด๊ณค ํ–ˆ๋Š”๋ฐ์š”! ์ด ํ•จ์ˆ˜ ์—ญ์‹œ BigQuery์—์„œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๊ตฌ์š”!

 

BigQuery์—์„œ๋Š” DATE_FORMAT()๊ฐ€ ์•„๋‹Œ FORMAT_DATE() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋“ค์–ด๊ฐ€๋Š” ์†์„ฑ์˜ ์ˆœ์„œ๋„ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์œ ์˜ํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

 

 

์†Œ๊ฐœ | BigQuery Guide Book - ๋น…์ฟผ๋ฆฌ ๊ฐ€์ด๋“œ๋ถ

 

zzsza.github.io

BigQuery ๋ฌธ๋ฒ•์ด ์ž˜ ์ •๋ฆฌ๋˜์–ด์žˆ๋Š” ๋ธ”๋กœ๊ทธ๋„ ์†Œ๊ฐœ๋“œ๋ฆฌ๋ฉด์„œ ์ด๋ฒˆ ๊ธ€์„ ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค!

728x90