登録日から X 日以内に「購入」イベントが発生した「登録」エントリの数をカウントします (日付ごとにグループ化)
P粉308783585
P粉308783585 2023-09-11 19:48:31
0
1
476

次のようなテーブルがあります:

<表类=“s-表”> <标题> idタイムスタンプ###Eメール###ip###イベント###1 <正文> 2021-07-15 00:01:00demo@demo.com11.11.11.11###登録する###22021-07-15 00:04:00demo@demo.com11.11.11.11###買う###32021-07-15 00:07:00test@test.com22.22.22.22###登録する###42021-07-15 00:08:00someone@else.com33.33.33.33###登録する###52021-07-16 00:01:00test@test.com22.22.22.22###買う###62021-07-16 00:02:00someone@else.com33.33.33.33###買う###すべてのユーザーの電子メール、IP、日付/時刻、イベント (登録と購入) を追跡します。現在、a) サインアップと b) コンバージョン (サインアップから 7 日以内に発生した購入。購入日ではなく、そのメール/IP に割り当てられた元のサインアップ日) に関する毎日の統計を取得しようとしています。a) 登録については簡単に理解できましたが、7 日以内のコンバージョンをクエリして、各登録コンバージョンを登録日 (コンバージョン日ではなく、簡単です) に割り当てる方法を理解しようとすると、次のようになります。これはかなりの挑戦です。これはこれまでの私のクエリです:リーリーこれにより、次の結果が得られます:###日付### ###登録する### ###変換###

2021-07-15

3

1

2021-07-16 <表类=“s-表”> <标题> 02私が理想的に必要とするのは次のようなものです (15 日の 3 つの登録イベントに 3 つの購入イベントが関連付けられているため、15 日に 3 つのコンバージョンが割り当てられ、16 日に割り当てられないのはなぜですか): <正文> ###日付### ###登録する### ###変換###2021-07-15332021-07-1600

<表类=“s-表”> <标题> それは意味がありますか?この click_tracking テーブルのサイズは 100 万レコードまたは 2 レコードであり、クラッシュさせるために何度も JOINS を試みました。そのため、どんなクエリでも機能するわけではありません...この問題を効率的に解決し、このタスクを達成するためにクエリを変更する方法はありますか?
P粉308783585
P粉308783585

全員に返信 (1)
P粉884667022

この種のクエリを実行するにはウィンドウ関数が必要です:

リーリー

各電子メールの最初のレコードが常にRegistrationであり、2 番目のレコード (存在する場合) が常にPurchaseであると仮定すると、電子メールのタイプと日付レコードが取得されます。最初の 2 レコードを一度に。その後、2 つのイベントの間に 7 日以上の間隔が空かないように追加のフィルターを適用しながら、サインアップと購入を別々に簡単にカウントできます。

timestampにキーがある場合、クエリは 100 万行でも十分に高速になるはずです。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!