我是新來的bigquery,在我的SQL旅程中也相當早。 我有一個SQL查詢,其目的是爲了恢復爲特定域的特定國家/地區記錄的總訪問次數。 該國家由指定hits.customDimensions.index和hits.customDimensions.value以及頁面主機 的組合決定,我希望能夠按國家/地區回訪總訪問次數。但是,我的代碼給出了我的每個國家的完全膨脹的數字。任何人都可以幫我用我狡猾的聚合?下面Bigquery - 我如何選擇我的where子句中的字段而不是常量?
SELECT
date,
hits.customDimensions.index,
hits.customDimensions.value,
SUM(totals.visits) AS totals_visits
FROM (TABLE_DATE_RANGE([95212100.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -1, 'MONTH'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))
WHERE
hits.page.hostname = 'www.xxxx.com' AND ((hits.customDimensions.index=5
AND hits.customDimensions.value='US') OR (hits.customDimensions.index=5
AND hits.customDimensions.value='UK') OR ((hits.customDimensions.index=5
AND hits.customDimensions.value='India')))
GROUP BY date, hits.customDimensions.index, hits.customDimensions.value
查詢看起來不錯,唯一的原因爲什麼totals_visits會被誇大,如果每次訪問都有多個hits.customDimensions - 那麼它將被這個查詢多次計數。 –
優秀的解釋 - 請你。我意識到我在這裏混合數據的粒度! –