以下に示すように、all_data
という名前のテーブルに、2022 年 1 月 1 日から 2022 年 1 月 15 日まで (15 日間) の期間のドライバー、オーダー、および日付のリストがあります。
注文ID | ###注文日### | |
---|---|---|
1 | b | |
2 | c | |
2 | d | |
この 15 日以内に、その日の時点で 1 日あたり少なくとも 1 つの注文を完了した、継続的にアクティブなドライバーの数を確認するにはどうすればよいですか?出力は次のようなテーブルになるはずです: |
アクティブ_ドライバー
2022-01-01 | 30 |
---|---|
27 | |
25 | |
たとえば、2022 年 1 月 1 日、30 人の異なるドライバーがその日に少なくとも 1 つの注文を完了しました。 2022 年 1 月 2 日には、2022 年 1 月 1 日と 2022 年 1 月 2 日に少なくとも 1 つの注文を実行した一意のドライバーの数を見つける必要があります。 2022 年 1 月 3 日には、2022 年 1 月 1 日、2022 年 1 月 2 日、2022 年 1 月 3 日に少なくとも 1 つの注文を完了したドライバーをカウントする必要があります。 | 私が試したこと |
リーリー
私もこの Google BigQuery: Rolling Count Distinct の質問を読みましたが、これは固定の 45 日間のものですが、ここでの日数は日付ベースの変数です。 BigQuerySQL でクエリを作成して、1 日あたり継続的にアクティブなドライバーのローリング数を確認するにはどうすればよいですか?
まず日付とドライバーのすべての組み合わせを見つけてから、各日付のすべてのドライバーの数を取得します。これを試して:### リーリー
次の点を考慮してください
リーリー