2017-11-06 45 views
0

noobの質問Bigqueryの完全な日付(年月日)〜(年月)

データベースを照会して、特定のページのページビューを探したいとしています。毎日、ページ/ページビュー数を返すクエリを作成しました。どのように私は同じ統計を取得するために私のクエリを変更する必要がありますが毎日ではないが、蛾?

ので、代わりに:

page  pv date 
/mysite 10 2017-01-01 

取得

page  pv date 
/mysite 500 2017-01 

私のクエリ:

select 
date, 
hits.page.pagePath as pagePath, 
count(totals.pageviews) as pageViews 
from Table_DATE_RANGE ([818251235.ga_sessions_] , Timestamp('2016-01-01'), Timestamp('2017-11-01')) 
group by 1,2 
+0

あなたは低料金です。重要なので、あなたは、投票の下の投稿された回答の左側にあるチェックマークを使用して、受け入れられた回答に印を付ける必要があります。これはあなたの率を高めます。どのようにこのリンクを見て、この作品を参照してください:http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work#5235 – Pentium10

答えて

0

は、あなたが最初の日にそれらを正規化するために、UTC_USEC_TO_WEEKUTC_USEC_TO_MONTHようUTC_USEC_TO_DAYを日付関数を使用することができます月の最初の曜日。

select 
date(UTC_USEC_TO_MONTH(date)) as monthly, 
..... 
0

それはあなたがあなたの元のクエリでカウントしようとしているものを明確ではないのですが、ここでは、標準SQLを使用し、月単位でグループ化を実行するクエリです:

#standardSQL 
SELECT 
    DATE_TRUNC(PARSE_DATE('%Y%m%d', date), MONTH) AS month, 
    hit.page.pagePath, 
    ‎COUNT(*) 
FROM `818251235.ga_sessions_*`, 
    UNNEST (hits) AS hit 
WHERE _TABLE_SUFFIX BETWEEN 
    '20160101' AND '20181101' 
GROUP BY 1, 2; 

編集:に固定年と月の両方が関連するので、EXTRACT(MONTH FROM ...)の代わりにDATE_TRUNCを使用してください。