2017-03-06 2 views
1

大きなパーティションテーブルがあり、個のエントリがそれぞれであり、それぞれ日パーティションになっています。 これまでのところ、私はfor loopをスクリプトに使用していましたが、もっと簡単な方法が必要です。BigQuery - パーティションあたりのエントリ数はいくつですか?

Googleは私を助けませんでした。誰も正しいクエリを知っていますか?

おかげ

答えて

2

あなたは

#standardSQL 
SELECT 
    _PARTITIONTIME AS pt, 
    COUNT(1) 
FROM 
    `dataset.table` 
GROUP BY 
    1 
ORDER BY 
    1 DESC 

#legacySQL 
SELECT 
    _PARTITIONTIME AS pt, 
    COUNT(1) 
FROM 
    [dataset:table] 
GROUP BY 
    1 
ORDER BY 
    1 DESC 

、それはこのようにテーブルを返す、ということに注意してくださいあなたは、各パーティションに持っているどのように多くのエントリカウントする次のクエリを実行することができますNULLのエントリはまだストリーミングバッファに入っています。ヒント:ストリーミングバッファにあるレコードを取得するには、NULLのクエリを使用します。

+-------------------------+-----+--+ 
| 2017-02-14 00:00:00 UTC | 252 | | 
+-------------------------+-----+--+ 
| 2017-02-13 00:00:00 UTC | 257 | | 
+-------------------------+-----+--+ 
| 2017-02-12 00:00:00 UTC | 188 | | 
+-------------------------+-----+--+ 
| 2017-02-11 00:00:00 UTC | 234 | | 
+-------------------------+-----+--+ 
| 2017-02-10 00:00:00 UTC | 107 | | 
+-------------------------+-----+--+ 
| null     | 13 | | 
+-------------------------+-----+--+ 
+0

レガシSQLを使用した理由は何ですか? –

+1

も同様に追加されました – Pentium10

+0

Brilliant @ Pentium10! –

関連する問題