先週、特定のエンティティIDに関連付けられたすべての行を取得しようとしています。各行にはタイムスタンプがあります。私は、日時のタイムスタンプから日付を抽出することにより、日によってグループこれらのエンティティをしたいのですが、私がしようとしたとき、私はBigQueryのからBigQueryでタイムスタンプから日付を抽出できない
Error: (L6:28): expression STRFTIME_UTC_USEC([data_timestamp], '%Y-%m-%d') in GROUP BY is invalid
を取得します。 DATE()関数で何か問題があるように見えます。ここで
は、私が実行している完全なクエリです:データを見る
SELECT Count(*) FROM [myproj:mydataset.mytable]
WHERE
bool_property=False
AND
entity_id=5667423172689920
AND
DATEDIFF(CURRENT_DATE(), data_timestamp) <= 7
GROUP BY DATE(data_timestamp)
、ここでは「data_timestamp」と呼ばれる品質は、実際には適切なタイムスタンプであるように思われます。私は実際にDATE()関数が失敗する理由を理解していません。
ヘルプやヒントはありますか?ありがとう!
がよく、私が表示されても、グループを含んでいます私は 'GROUP BY'を使って他のクエリをテストしたので、標準のsqlを使用していて、うまく動作していたようです。あなたは集計関数のことについては正しいです。私はフィットするように私の質問を変更しました。私の本当の問題は、GROUP BYではなく、DATE関数であり、これは非論理的にはうまくいかないようです。 – bgenchel
構文に基づいて使用する - あなたは従来のsqlを使用しています。私の答えでクエリを実行しようとしましたか?問題は、日付機能ではなく、実際には、従来のSQLのグループごとのステートメントでそれを使用した –
まあまあ仕事!しかし、私は理由を理解しているか分からない。私はあなたの理論/仮説は、それがGROUP BYにあったので、日付関数がうまくいかないということですか?このクエリの仕組みをもう少し説明してください。 – bgenchel